:root{--doppio-bg: #060a08;--doppio-surface: #0a110d;--doppio-surface-raised: #0e1812;--doppio-surface-soft: #132019;--doppio-border: #1c2b23;--doppio-border-strong: #2d513a;--doppio-text: #edf7f1;--doppio-text-muted: #7d9185;--doppio-brand: #39ff83;--doppio-brand-strong: #20c965;--doppio-warning: #f1b526;--doppio-danger: #f26565;--doppio-info: #58a6ff;--doppio-focus: 0 0 0 3px rgba(57, 255, 131, .2);--doppio-radius-sm: 7px;--doppio-radius-md: 10px;--doppio-radius-lg: 14px;--doppio-motion-fast: .14s cubic-bezier(.2,.8,.2,1);--doppio-motion: .22s cubic-bezier(.2,.8,.2,1)}.ui-button,.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:0 11px;border:1px solid var(--doppio-border-strong);border-radius:var(--doppio-radius-sm);color:#cde4d5;background:var(--doppio-surface-raised);font:inherit;font-size:11px;font-weight:720;cursor:pointer;transition:transform var(--doppio-motion-fast),border-color var(--doppio-motion-fast),background var(--doppio-motion-fast),color var(--doppio-motion-fast),opacity var(--doppio-motion-fast)}.ui-button:hover:not(:disabled),.ui-icon-button:hover:not(:disabled){border-color:#39734d;color:#91ffb7;background:#12261a}.ui-button:active:not(:disabled),.ui-icon-button:active:not(:disabled){transform:translateY(1px);background:#0c1d13}.ui-button:focus-visible,.ui-icon-button:focus-visible{outline:0;box-shadow:var(--doppio-focus)}.ui-button:disabled,.ui-icon-button:disabled{opacity:.4;cursor:not-allowed}.ui-button[data-variant=primary]{border-color:#237346;color:#06120a;background:var(--doppio-brand)}.ui-button[data-variant=primary]:hover:not(:disabled){color:#041008;background:#69ffa0}.ui-button[data-variant=danger]{border-color:#693638;color:#ffb2ae;background:#2a1414}.ui-button[data-loading=true]{cursor:wait}.ui-icon-button{width:32px;padding:0}.ui-toolbar{display:flex;align-items:center;gap:8px;min-width:0}.ui-toolbar[data-wrap=true]{flex-wrap:wrap}.ui-status-group{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.ui-status{display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:0 7px;border:1px solid #304039;border-radius:999px;color:#7f9188;background:#111714;font-size:9px;font-weight:720;white-space:nowrap}.ui-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.ui-status[data-tone=success]{border-color:#286342;color:#49d681;background:#10281a}.ui-status[data-tone=warning]{border-color:#675528;color:#e0aa32;background:#28200e}.ui-status[data-tone=danger]{border-color:#663536;color:#f07878;background:#291313}.ui-status[data-tone=info]{border-color:#31506c;color:#70b6ef;background:#10202d}.ui-panel{border:1px solid var(--doppio-border);border-radius:var(--doppio-radius-md);background:var(--doppio-surface-raised);color:var(--doppio-text)}.ui-card{padding:12px}.ui-sidebar-shell{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-color:var(--doppio-border);background:#060c09fa;transition:width var(--doppio-motion)}.ui-sidebar-collapse{position:absolute;z-index:5;top:18px}.ui-sidebar-shell[data-side=left] .ui-sidebar-collapse{right:10px}.ui-sidebar-shell[data-side=right] .ui-sidebar-collapse{left:10px}.ui-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border:1px solid #2f6543;border-radius:50%;color:#91ffb7;background:#10261a;font-size:10px;font-weight:800}.ui-profile-menu{display:flex;align-items:center;gap:9px;min-width:0}.ui-profile-menu>div{min-width:0;display:grid;gap:2px}.ui-profile-menu strong,.ui-profile-menu small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-profile-menu strong{font-size:10px}.ui-profile-menu small{color:var(--doppio-text-muted);font-size:8px}@media(prefers-reduced-motion:reduce){.ui-button,.ui-icon-button,.ui-sidebar-shell{transition-duration:.01ms}}:root{--doppio-z-floating: 110;--doppio-shadow-floating: 0 18px 56px rgba(0, 0, 0, .42)}.ui-floating-window{position:fixed;z-index:var(--doppio-z-floating);display:flex;flex-direction:column;padding:0;overflow:hidden;box-shadow:var(--doppio-shadow-floating);border-color:var(--doppio-border-strong)}.ui-floating-window[hidden]{display:none}.ui-floating-window-header{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px;border-bottom:1px solid var(--doppio-border);background:var(--doppio-surface)}.ui-floating-window .ui-floating-window-drag{width:auto;flex:1;justify-content:flex-start;padding-inline:8px;border-color:transparent;background:transparent;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ui-floating-window-drag:active{cursor:grabbing}.ui-floating-window-content{flex:1;min-height:0;overflow-y:auto;padding:12px 12px 22px;scrollbar-width:thin;scrollbar-color:var(--doppio-border-strong) transparent}.ui-floating-window .ui-floating-window-resize{position:absolute;bottom:0;right:0;width:26px;min-height:26px;border:0;border-radius:0;background:var(--doppio-surface-raised);cursor:nwse-resize;touch-action:none}.ui-floating-window-dock{position:fixed;z-index:var(--doppio-z-floating);width:48px;height:48px;border-radius:var(--doppio-radius-lg);border-color:var(--doppio-brand-strong);color:var(--doppio-brand);box-shadow:var(--doppio-shadow-floating);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.ui-floating-window-badge{position:absolute;top:-6px;right:-10px;padding:2px 4px;border:1px solid var(--doppio-border-strong);border-radius:var(--doppio-radius-sm);background:var(--doppio-surface);font-size:8px}._root_13jp7_1{display:block;width:100%;height:auto;overflow:visible}._artwork_13jp7_8{transform-origin:160px 145px}._halo_13jp7_12{transform-origin:center}._path_13jp7_16{stroke:#39ff83;stroke-dasharray:1;stroke-dashoffset:0}._wordmark_13jp7_22{transform-origin:center}._animated_13jp7_26 ._halo_13jp7_12,._animated_13jp7_26 ._wordmark_13jp7_22{opacity:0}._animated_13jp7_26 ._path_13jp7_16{opacity:0;stroke-dashoffset:1}._animated_13jp7_26._ready_13jp7_36 ._halo_13jp7_12{animation:_halo-in_13jp7_1 1.5s ease-out .5s both}._animated_13jp7_26._ready_13jp7_36 ._path_13jp7_16{animation-name:_cup-draw_13jp7_1,_cup-flicker_13jp7_1;animation-duration:1.15s,1.15s;animation-timing-function:ease-in-out,ease-out;animation-delay:var(--doppio-path-delay),var(--doppio-path-delay);animation-fill-mode:both,both}._animated_13jp7_26._ready_13jp7_36 ._wordmark_13jp7_22{animation:_wordmark-in_13jp7_1 .5s ease-out 1.45s both}._static_13jp7_52 ._halo_13jp7_12,._static_13jp7_52 ._path_13jp7_16,._static_13jp7_52 ._wordmark_13jp7_22{opacity:1;stroke-dashoffset:0;transform:none}._compact_13jp7_60{filter:drop-shadow(0 0 8px rgba(57,255,131,.22))}._animated_13jp7_26._ready_13jp7_36._compact_13jp7_60 ._path_13jp7_16{animation-duration:575ms,575ms}@keyframes _cup-draw_13jp7_1{to{stroke-dashoffset:0}}@keyframes _cup-flicker_13jp7_1{0%{opacity:0}22%{opacity:.3}46%{opacity:1}68%{opacity:.7}to{opacity:1}}@keyframes _halo-in_13jp7_1{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes _wordmark-in_13jp7_1{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){._animated_13jp7_26 ._halo_13jp7_12,._animated_13jp7_26 ._path_13jp7_16,._animated_13jp7_26 ._wordmark_13jp7_22{animation:none!important;opacity:1;stroke-dashoffset:0;transform:none}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#edf7f1;background:#060a08;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;overflow:hidden;background:#060a08}button,input,select{font:inherit}button{color:inherit}.lab-app{--sidebar-width: 278px;min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:radial-gradient(circle at 12% 8%,rgba(35,163,98,.12),transparent 28%),#080d0a}.lab-app.sidebar-hidden{--sidebar-width: 0px;grid-template-columns:minmax(0,1fr)}.lab-sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--sidebar-width);display:flex;flex-direction:column;padding:0;overflow:hidden;border-right:1px solid rgba(133,255,184,.1);background:#060c09f7;box-shadow:16px 0 48px #0000003d;transition:width .18s ease}.brand-row{min-height:70px;flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid #172019}.brand-mark{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid #4aff91;border-radius:10px;color:#65ff9e;background:#0d2417;font-weight:850;letter-spacing:-.08em}.brand-copy{min-width:0;display:grid;line-height:1.05}.brand-copy strong{font-size:14px;letter-spacing:-.01em}.brand-copy span{margin-top:5px;color:#6f8177;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.sidebar-toggle{width:34px;height:34px;margin-left:auto;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#7f9388;cursor:pointer}.sidebar-toggle:hover{color:#78ffa8;background:#60ff9a14}.sidebar-reopen{position:fixed;top:14px;left:14px;z-index:30;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(101,255,158,.18);border-radius:9px;color:#75a387;background:#08120cc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;opacity:.72}.sidebar-reopen:hover{color:#78ffa8;opacity:1}.project-config{display:grid;gap:7px;margin:24px 2px 20px}.project-config label,.project-management>label,.nav-kicker{color:#67776e;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.project-config select,.project-config input,.project-management select,.project-editor input,.select-with-icon{width:100%;height:38px;border:1px solid #1c2b23;border-radius:9px;background:#0b130f;color:#d9e7de}.project-config select,.project-config input,.project-management select,.project-editor input{padding:0 10px;color:#dcebe2;outline:0}.select-with-icon{display:flex;align-items:center;gap:6px;padding-left:10px;color:#4ed782}.select-with-icon select{min-width:0;flex:1;border:0;background:transparent}.worktree-path{min-height:34px;padding:8px 9px;overflow-wrap:anywhere;border:1px solid #17231c;border-radius:7px;color:#718179;background:#080e0b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.45}.create-worktree{display:grid;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid #172019}.form-title{color:#98a79e;font-size:10px;font-weight:700}.create-fields{display:grid;grid-template-columns:1fr 1.25fr;gap:7px}.create-fields label{display:grid;gap:5px}.create-fields label span{font-size:8px}.create-fields input{min-width:0;height:34px;font-size:10px}.save-branch{height:34px;margin-top:2px;border:1px solid #225d39;border-radius:8px;background:#10321f;color:#87ffb1;font-size:11px;font-weight:750;cursor:pointer}.save-branch:disabled{opacity:.38;cursor:default}.project-management{display:grid;gap:7px;margin:22px 2px 0;padding-bottom:17px;border-bottom:1px solid #172019}.project-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.project-actions button{height:30px;border:1px solid #244231;border-radius:7px;color:#9ed7b2;background:#0d1b13;font-size:10px;cursor:pointer}.project-actions button.is-danger{border-color:#4b2927;color:#e8a39e}.project-actions button:disabled{opacity:.4;cursor:default}.project-editor{display:grid;gap:9px;margin-top:4px;padding:11px;border:1px solid #213629;border-radius:10px;background:#09110d}.project-editor-heading{display:flex;align-items:center;justify-content:space-between;color:#dce9e1;font-size:11px}.project-editor-heading button{border:0;color:#708078;background:transparent;cursor:pointer}.project-editor>label{display:grid;gap:5px;color:#77877e;font-size:9px}.project-editor fieldset{display:grid;gap:5px;margin:0;padding:8px;border:1px solid #1c2b23;border-radius:8px}.project-editor legend{padding:0 4px;color:#68786f;font-size:9px}.project-module-option{display:flex!important;align-items:center;gap:7px;color:#b7c8be!important;font-size:9px!important;letter-spacing:0!important;text-transform:none!important}.project-module-option input{width:13px;height:13px;margin:0;accent-color:#39bd6d}.save-project{height:32px;border:1px solid #23653d;border-radius:7px;color:#8dffb4;background:#10321f;font-size:10px;cursor:pointer}.save-project:disabled{opacity:.4;cursor:default}.module-nav{min-height:0;display:flex;flex-direction:column;gap:5px;padding-bottom:16px}.nav-kicker{margin:0 10px 7px}.module-nav button{width:100%;min-height:48px;display:flex;align-items:center;gap:11px;padding:6px 9px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.module-nav button:hover{background:#ffffff06}.module-nav button.is-active{border-color:#48ff8a30;background:linear-gradient(90deg,#25a6572e,#194c2d0d)}.module-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:8px;color:#789087;background:#111a15}.is-active .module-icon{color:#6dffa3;background:#123621}.module-label{min-width:0;display:grid;gap:3px}.module-label strong{overflow:hidden;color:#dbe8e0;font-size:11px;font-weight:720;white-space:nowrap;text-overflow:ellipsis}.module-label small{color:#637269;font-size:9px}.source-note{margin-top:auto;display:flex;align-items:center;gap:9px;padding:12px 10px;border-top:1px solid #172019}.source-dot{width:7px;height:7px;border-radius:50%;background:#e0aa32;box-shadow:0 0 12px #e0aa3273}.source-dot.is-ready{background:#2fbd6d;box-shadow:0 0 12px #2fbd6d73}.source-note div{display:grid;gap:3px}.source-note strong{font-size:10px;font-weight:700}.source-note small{color:#637269;font-size:9px}.project-summary{position:relative;flex:0 0 auto;padding:12px 14px 10px;border-bottom:1px solid #172019}.project-summary-row{display:flex;align-items:end;gap:7px}.project-selector{min-width:0;flex:1;display:grid;gap:5px}.project-selector>span,.environment-panel>label,.nav-kicker{color:#67776e;font-size:9px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.project-selector select,.environment-panel select,.environment-panel input{width:100%;height:34px;padding:0 9px;border:1px solid #1c2b23;border-radius:8px;outline:0;color:#dcebe2;background:#0b130f}.module-count{min-width:32px;height:34px;display:grid;place-items:center;border:1px solid #20442f;border-radius:8px;color:#83e9a7;background:#0d1d14;font-size:10px;font-weight:800}.project-menu-trigger{width:34px;height:34px;border:1px solid #223128;border-radius:8px;color:#85968c;background:#0b130f;cursor:pointer}.project-menu-trigger:hover,.project-menu-trigger[aria-expanded=true]{border-color:#2c6742;color:#79f8a7;background:#10231a}.project-action-menu{position:absolute;z-index:5;top:55px;right:14px;width:146px;display:grid;gap:3px;padding:5px;border:1px solid #274032;border-radius:9px;background:#0a120e;box-shadow:0 14px 36px #0000006b}.project-action-menu button{min-height:31px;padding:0 9px;border:0;border-radius:6px;color:#aac0b2;background:transparent;text-align:left;font-size:10px;cursor:pointer}.project-action-menu button:hover{color:#8fffb5;background:#12251a}.project-action-menu button.is-danger{color:#e8a39e}.project-action-menu button:disabled{opacity:.4;cursor:default}.project-summary .project-editor{max-height:min(46dvh,420px);overflow-y:auto}.module-nav{min-height:92px;flex:1 1 auto;gap:0;padding:11px 8px 8px;overflow:hidden}.module-nav-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 7px 8px}.module-nav-heading .nav-kicker{margin:0}.module-nav-heading small{color:#526159;font-size:9px}.module-list{min-height:0;flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#245c3a transparent}.module-list::-webkit-scrollbar{width:5px}.module-list::-webkit-scrollbar-thumb{border-radius:999px;background:#245c3a}.module-list::-webkit-scrollbar-track{background:transparent}.technical-environment{flex:0 0 auto;border-top:1px solid #172019;background:#080e0b}.environment-trigger{width:100%;min-height:49px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;padding:8px 14px;border:0;color:#9aaba1;background:transparent;text-align:left;cursor:pointer}.environment-trigger>span:first-child{min-width:0;display:flex;align-items:center;gap:7px;color:#b7c8be;font-size:10px;font-weight:700}.environment-trigger small{grid-column:1;overflow:hidden;color:#5f7066;font:8px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;text-overflow:ellipsis}.environment-trigger .disclosure{grid-column:2;grid-row:1 / span 2;color:#54cd80;font-size:16px}.environment-trigger:hover{background:#4dd8800a}.environment-panel{max-height:min(44dvh,390px);display:grid;gap:7px;padding:2px 14px 12px;overflow-y:auto}.environment-panel .select-with-icon{height:34px}.environment-panel .select-with-icon select{border:0}.create-worktree-trigger{min-height:32px;margin-top:3px;border:1px solid #244231;border-radius:7px;color:#8eddaa;background:#0d1b13;font-size:10px;cursor:pointer}.environment-panel .create-worktree{margin-top:0}.pending-repository,.git-job{display:grid;gap:4px;padding:9px;border:1px solid #5e4b20;border-radius:8px;color:#e9c96f;background:#211b0d;font-size:9px}.pending-repository span,.git-job span{overflow-wrap:anywhere;font-family:ui-monospace,monospace}.pending-repository small,.git-job small{color:#a79770}.git-job.is-succeeded{border-color:#275e3b;color:#82e4a5;background:#0d2115}.git-job.is-failed{border-color:#6f312f;color:#ffaaa4;background:#2b1110}.environment-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.environment-actions .save-branch,.environment-actions .create-worktree-trigger{margin:0}.technical-settings{width:min(920px,96vw);max-height:90dvh;gap:14px;padding:18px;overflow-y:auto;border:1px solid #2b4936;border-radius:16px;color:#e7f3eb;background:#08100c;box-shadow:0 30px 100px #000000a6}.technical-settings[open]{display:grid}.technical-settings::backdrop{background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.technical-settings>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.technical-settings h2,.technical-settings h3{margin:0}.technical-settings header span,.technical-settings p{color:#788a80;font-size:11px}.technical-settings .ui-card{display:grid;gap:10px}.settings-list{display:grid;gap:7px}.settings-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:10px;border:1px solid #1d2d24;border-radius:9px;background:#0a130e}.settings-list article>div{min-width:0;display:grid;gap:3px}.settings-list code,.settings-list small{overflow:hidden;color:#7e9186;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.key-create{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:5px 8px}.key-create label{color:#93a69a;font-size:10px}.key-create label:first-child{grid-column:1;grid-row:1}.key-create label:nth-of-type(2){grid-column:2;grid-row:1}.key-create input,.key-create select{height:36px;padding:0 10px;border:1px solid #284332;border-radius:8px;color:#e7f3eb;background:#0b1610}.copy-once{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:12px;border:1px solid #8a6420;border-radius:9px;color:#ffd878;background:#2a200c}.copy-once strong{grid-column:1 / -1}.copy-once code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.runtime-footer{min-height:55px;flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:9px 14px;border-top:1px solid #172019;background:#060b08}.runtime-footer div{min-width:0;display:grid;gap:3px}.runtime-footer strong{color:#cbd9d0;font-size:10px;font-weight:700}.runtime-footer small{overflow:hidden;color:#5e6e65;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.source-dot.is-starting{background:#e0aa32;box-shadow:0 0 12px #e0aa3273;animation:pulse 1.1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.45}}.lab-workspace{grid-column:2;min-width:0;height:100dvh;padding:18px;display:flex;flex-direction:column;overflow:hidden;transition:margin .18s ease}.sidebar-hidden .lab-workspace{grid-column:1;width:100%}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 5px;padding:0 2px 5px;border-bottom:1px solid #17231c}.workspace-heading div{display:flex;align-items:baseline;gap:8px;min-width:0}.workspace-heading span{color:#62746a;font-size:8px;font-weight:750;line-height:1;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.workspace-heading h1{margin:0;color:#edf7f1;font-size:16px;line-height:1.05;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-heading>strong{color:#78a68a;font-size:9px;font-weight:650;line-height:1;white-space:nowrap}.agent-work-panel{flex:0 0 auto;max-height:min(190px,28dvh);margin:0 0 7px;padding:9px 11px;overflow:hidden;border-color:#52de8533;background:linear-gradient(90deg,#112b1bf5,#08110cf5)}.agent-work-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}.agent-work-identity{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:2px 8px}.agent-work-identity>span{color:#5d7967;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.agent-work-identity>strong{overflow:hidden;color:#e5f2e9;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.agent-work-identity>small{grid-column:1 / -1;color:#718178;font-size:8px}.agent-work-overall{display:flex;align-items:center;gap:8px;color:#a6b7ad;font-size:9px}.agent-work-overall>strong{min-width:32px;color:#76f5a4;font-size:12px;text-align:right}.agent-work-overall time{min-width:54px;font:9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.agent-work-connection{width:6px;height:6px;border-radius:50%;background:#6a776f}.agent-work-connection.is-connected{background:#42d778;box-shadow:0 0 8px #42d77880}.agent-work-connection.is-reconnecting{background:#d7a642;animation:pulse 1s infinite alternate}.agent-work-actions{display:flex;gap:5px}.agent-work-actions .ui-button{min-height:28px;padding:0 9px;font-size:9px}.agent-work-progress{height:3px;margin:7px 0 6px;overflow:hidden;border-radius:99px;background:#17251c}.agent-work-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#e0a938);transition:width .22s ease}.agent-work-command-error{margin:.55rem 0 0;color:var(--danger);font-size:.78rem}.agent-work-tree,.agent-work-node-children{margin:0;padding:0;list-style:none}.agent-work-tree{max-height:104px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#285d3a transparent}.agent-work-node-children{margin-left:13px;padding-left:9px;border-left:1px solid #1f3a29}.agent-work-node-row{min-height:25px;display:flex;align-items:center;gap:7px;padding-right:4px}.agent-work-node-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#617068}.agent-work-node-dot.is-running{background:#42d778}.agent-work-node-dot.is-succeeded{background:#70efa0}.agent-work-node-dot.is-failed,.agent-work-node-dot.is-cancelled{background:#ef7770}.agent-work-node-dot.is-paused,.agent-work-node-dot.is-pause_requested,.agent-work-node-dot.is-cancel_requested,.agent-work-node-dot.is-cancelling{background:#d7a642}.agent-work-node-copy{min-width:0;flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px}.agent-work-node-copy strong{color:#cbd9d0;font-size:9px}.agent-work-node-copy small{overflow:hidden;color:#617068;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.agent-work-node-progress{color:#779484;font:8px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.module-window-stack{min-width:0;min-height:0;flex:1;display:flex}.module-window-slot{min-width:0;min-height:0;flex:1;border-radius:12px;outline:1px solid transparent;transition:outline-color .16s ease}.module-window-slot.is-active{outline-color:#5cff9738}.module-window-slot.is-background,.module-window-slot.is-closed{display:none}.module-window-slot>.module-window{height:100%;min-height:0}.module-window-slot>.module-window.is-minimized{min-height:0;height:39px}.loading-state,.error-banner{padding:15px;color:#87978d;font-size:13px}.loading-state,.module-loading{display:flex;align-items:center;gap:9px}.module-loading{padding:12px 10px;color:#708078;font-size:10px}.spinner{width:14px;height:14px;flex:0 0 14px;border:2px solid rgba(102,255,160,.16);border-top-color:#66ffa0;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{margin-bottom:12px;border:1px solid #6f312f;border-radius:9px;color:#ffb1aa;background:#2b1110}.auth-state{min-height:100dvh;display:grid;place-content:center;gap:14px;padding:24px;color:#829188;background:radial-gradient(circle at 50% 20%,rgba(42,187,101,.13),transparent 34%),#060a08}.auth-card{width:min(390px,calc(100vw - 40px));display:grid;gap:15px;padding:28px;border:1px solid #1b3425;border-radius:18px;background:#08120cf5;box-shadow:0 30px 90px #00000073}.auth-copy{display:grid;gap:5px}.auth-copy strong{color:#edf7f1;font-size:20px}.auth-copy span,.auth-card label{color:#839188;font-size:12px}.auth-card label{display:grid;gap:7px}.auth-card input{height:42px;padding:0 12px;border:1px solid #24362c;border-radius:9px;color:#edf7f1;background:#0b130f;outline:0}.auth-card input:focus{border-color:#3fba71;box-shadow:0 0 0 3px #3fba711f}.auth-card button{height:42px;border:1px solid #2d7f4b;border-radius:9px;color:#8dffb5;background:#123520;cursor:pointer}.auth-card button:disabled{opacity:.55;cursor:default}.auth-card p{margin:0;color:#ffaba4;font-size:12px}.auth-skeleton{width:240px;height:8px;border-radius:999px;background:linear-gradient(90deg,#102018,#214a31,#102018);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.reopen-module{display:flex;align-items:center;gap:9px;margin:30vh auto 0;padding:12px 16px;border:1px solid #2a6841;border-radius:10px;background:#102a1b;color:#86ffb1;cursor:pointer}.module-window{height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #202723;border-radius:10px;background:#f7f9f8;box-shadow:0 22px 80px #00000073}.module-window.is-fullscreen{position:fixed;inset:0;z-index:100;width:100vw!important;min-width:0!important;height:100dvh;border:0;border-radius:0}.module-window.is-minimized{height:39px}.window-titlebar{height:38px;flex:0 0 38px;display:flex;align-items:center;padding:0 9px 0 12px;border-bottom:1px solid #dce1de;background:linear-gradient(#fbfcfc,#f4f6f5);color:#1c2922;-webkit-user-select:none;user-select:none}.window-identity{display:flex;align-items:center;gap:9px;min-width:0}.window-app-icon{width:18px;height:18px;display:grid;place-items:center;color:#17221c}.window-identity strong{overflow:hidden;font-size:12px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.window-controls{margin-left:auto;display:flex;gap:4px}.window-control{width:21px;height:21px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;color:#fff;cursor:pointer}.window-control span{transform:translateY(-.5px);font-size:13px;font-weight:850;line-height:1}.window-control.minimize{background:#f1b526}.window-control.maximize{background:#2bc865}.window-control.close{background:#f26565}.window-control:hover{filter:saturate(1.15) brightness(.94)}.module-window-body{min-height:0;flex:1;overflow:hidden;background:#f4f7f5;color:#142019}.module-preview{height:100%;display:flex;overflow:hidden}.module-local-nav{width:210px;flex:0 0 210px;padding:22px 12px;border-right:1px solid #e1e7e3;background:#f8faf9}.module-local-nav button{width:100%;display:flex;align-items:center;gap:9px;padding:10px;border:0;border-radius:8px;color:#5d6b63;background:transparent;text-align:left;cursor:pointer}.module-local-nav button.is-active{color:#08743a;background:#e7f5ec}.module-canvas{min-width:0;flex:1;padding:30px 34px;overflow:auto;background:#fbfcfb}.module-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #e5eae7}.module-route{color:#89958e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.module-page-header h1{margin:5px 0 0;color:#17221c;font-size:clamp(22px,2.4vw,34px);font-weight:720;letter-spacing:-.035em}.manifest-status{display:flex;align-items:center;gap:7px;color:#9b7423;font-size:10px;white-space:nowrap}.manifest-status>span{width:6px;height:6px;border-radius:50%;background:#daa42d}.manifest-status.is-ready{color:#298153}.manifest-status.is-ready>span{background:#2fbd6d}.preview-empty-state{max-width:620px;margin:13vh auto 0;display:flex;flex-direction:column;align-items:center;text-align:center}.preview-glyph{width:58px;height:58px;display:grid;place-items:center;margin-bottom:17px;border:1px solid #cae6d5;border-radius:16px;color:#16854a;background:#edf8f1}.preview-empty-state p{margin:0 0 8px;color:#67756d;font-size:12px}.preview-empty-state code{color:#16854a;background:#edf5f0;padding:2px 5px;border-radius:4px}.preview-empty-state strong{color:#26342c;font-size:14px;font-weight:650}.preview-empty-state small{max-width:520px;margin-top:9px;color:#7c8881;font-size:11px;line-height:1.55}.preview-empty-state .module-description{margin-top:22px;padding-top:18px;border-top:1px solid #e5eae7;color:#5b6961;line-height:1.55}.real-runtime{flex-direction:column;background:#fbfcfb}.runtime-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid #dce5df;background:#f5f8f6}.runtime-statuses,.runtime-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.runtime-chip{padding:4px 7px;border:1px solid #ead7a4;border-radius:999px;color:#8a6518;background:#fff9e9;font-size:10px}.runtime-chip.is-ready{border-color:#b9dfc7;color:#176f3e;background:#eaf7ef}.runtime-actions button{padding:5px 8px;border:1px solid #cbd8cf;border-radius:6px;color:#24442f;background:#fff;cursor:pointer;font-size:10px}.runtime-actions button:disabled{opacity:.45;cursor:default}.runtime-blocker{padding:8px 12px;color:#8e2424;background:#fff0f0;border-bottom:1px solid #f0caca;font:11px/1.4 ui-monospace,monospace;white-space:pre-wrap}.module-runtime-canvas{min-height:0;flex:1;overflow:auto;background:#fff}@media(max-width:760px){.lab-app{--sidebar-width: min(90vw, 278px)}.lab-workspace{padding:9px}.module-window{height:calc(100dvh - 18px)}.module-canvas{padding:22px 20px}.module-page-header{flex-direction:column}.workspace-heading{align-items:flex-start;flex-direction:column}.agent-work-summary{grid-template-columns:minmax(0,1fr) auto}.agent-work-overall{grid-column:1;grid-row:2;justify-content:flex-start}.agent-work-actions{grid-column:2;grid-row:1 / span 2}.module-window-slot>.module-window{min-width:0!important;height:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.lab-app{--left-sidebar-width: 278px;--right-sidebar-width: 400px;grid-template-columns:var(--left-sidebar-width) minmax(0,1fr) var(--right-sidebar-width);height:100dvh;min-height:0;overflow:hidden;transition:grid-template-columns var(--doppio-motion)}.lab-app.left-collapsed{--left-sidebar-width: 64px}.lab-app.right-collapsed{--right-sidebar-width: 50px}.lab-sidebar{position:relative;inset:auto;z-index:20;grid-column:1;width:100%!important;height:100dvh;border-right:1px solid var(--doppio-border);box-shadow:14px 0 36px #0000002e}.lab-sidebar .ui-sidebar-collapse{top:19px;right:8px}.lab-sidebar[data-collapsed=true] .brand-row{justify-content:center;padding-inline:8px}.lab-sidebar[data-collapsed=true] .brand-mark{width:34px;height:34px;flex-basis:34px}.lab-sidebar[data-collapsed=true] .ui-sidebar-collapse{top:58px;right:15px}.collapsed-module-nav{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;padding:34px 8px 10px;overflow-y:auto}.collapsed-module-nav button{width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;color:#789087;background:transparent;cursor:pointer;transition:all var(--doppio-motion-fast)}.collapsed-module-nav button:hover{color:#84ffad;background:#102219}.collapsed-module-nav button.is-active{border-color:#2b6742;color:var(--doppio-brand);background:#12311f}.sidebar-profile{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid var(--doppio-border);background:#080e0b}.sidebar-profile.is-collapsed{flex-direction:column;padding:9px 7px}.profile-avatar-button,.logout-button{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #24382c;border-radius:8px;color:#809389;background:#0c1510;cursor:pointer}.profile-avatar-button span{font-size:10px;font-weight:800}.logout-button:hover{border-color:#663536;color:#ff9c96;background:#261313}.lab-workspace{grid-column:2;width:auto;min-height:0}.integration-sidebar{grid-column:3;width:100%!important;height:100dvh;border-left:1px solid var(--doppio-border)}.integration-sidebar .ui-sidebar-collapse{top:18px;left:9px}.collapsed-sidebar-icon{display:grid;place-items:center;margin-top:66px;color:#65977a}.integration-heading{min-height:70px;display:grid;align-content:center;gap:3px;padding:12px 48px 12px 16px;border-bottom:1px solid var(--doppio-border)}.integration-heading span{color:var(--doppio-brand);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.integration-heading strong{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.integration-heading small{color:var(--doppio-text-muted);font-size:9px}.integration-content{min-height:0;flex:1;display:flex;flex-direction:column;gap:10px;padding:12px;overflow-y:auto}.integration-card-title{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:#d5e7db;font-size:11px}.integration-content dl{display:grid;gap:10px;margin:0}.integration-content dl>div,.integration-layer{display:flex;align-items:center;justify-content:space-between;gap:8px}.integration-content dt,.integration-layer>span{color:#71847a;font-size:9px}.integration-content dd{min-width:0;max-width:165px;margin:0;overflow:hidden;color:#a9bbb0;font:9px/1.4 ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.integration-empty{margin:0;color:#718078;font-size:10px;line-height:1.55}.integration-warning,.integration-error{font-size:11px;line-height:1.45;color:#f7c948}.integration-error{color:#ff6b6b}.integration-contract-help{display:grid;gap:4px;margin:8px 0;padding:9px;border:1px solid rgba(247,201,72,.35);border-radius:7px;background:#211d0b;color:#f4d66d;font-size:10px;line-height:1.45}.integration-contract-help p{margin:0;color:#d8c77b}.integration-contract-help code{color:#fff0a6}.endpoint-list-help{margin:9px 0 7px;color:#a9bbb0;font-size:10px;line-height:1.45}.endpoint-list{display:grid;gap:6px;max-height:440px;overflow:auto}.endpoint-row{border:1px solid var(--doppio-border);border-radius:7px;padding:7px;background:#0000002e}.endpoint-row summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:7px;align-items:center;cursor:pointer;font-size:11px}.endpoint-row summary code{font-weight:800;color:#8df5a6}.endpoint-row summary span{min-width:0;color:#d9e9df;font:600 11px/1.35 ui-monospace,monospace;overflow-wrap:anywhere}.endpoint-row[open] summary{padding-bottom:7px;border-bottom:1px solid #26382d}.endpoint-details{display:grid;gap:9px;padding-top:2px}.endpoint-details p,.endpoint-details small{display:block;margin:7px 0 0;font-size:10px;line-height:1.45;color:#91a69a}.endpoint-details section{display:grid;gap:5px}.endpoint-details section>strong{color:#b9cbbf;font-size:10px}.endpoint-details pre,.endpoint-full-path{display:block;max-width:100%;margin:0;padding:8px;border:1px solid #263b2e;border-radius:6px;overflow:auto;color:#dff7e7;background:#07100a;font:10px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.endpoint-full-path{color:#9df7b8}.endpoint-row.is-red{border-color:#ff505073}.endpoint-row.is-yellow{border-color:#f7c94859}.package-actions{display:flex;gap:7px;flex-wrap:wrap}.package-result{display:grid;gap:6px;margin-top:10px;font-size:10px;overflow-wrap:anywhere}.package-result p{margin:0;color:#ffb4b4}.package-result a{color:#8df5a6;font-weight:700}.integration-tabs{display:grid;grid-template-columns:1fr 1fr;padding:7px 12px;border-bottom:1px solid var(--doppio-border);background:#080f0b}.integration-tabs button{height:32px;border:1px solid #24372b;color:#71847a;background:#0a130e;font-size:10px;font-weight:750;cursor:pointer}.integration-tabs button:first-child{border-radius:8px 0 0 8px}.integration-tabs button:last-child{border-left:0;border-radius:0 8px 8px 0}.integration-tabs button[aria-selected=true]{border-color:#34764b;color:#9df7b8;background:#12301e}.runtime-http-logs{display:grid;gap:10px}.logs-card-title{align-items:flex-start;justify-content:space-between}.logs-card-title>div{display:grid;gap:3px}.logs-card-title small{color:#71847a;font-size:9px;font-weight:400}.runtime-log-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.runtime-log-filters label{display:grid;gap:4px;color:#71847a;font-size:9px}.runtime-log-filters select{min-width:0;height:30px;padding:0 6px;border:1px solid #294232;border-radius:6px;color:#bad0c2;background:#08110c;font-size:9px}.runtime-log-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.runtime-log-summary small{color:#71847a;font-size:9px}.runtime-log-list{display:grid;gap:6px}.runtime-log-row{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;border:1px solid #25372d;border-radius:8px;text-align:left;color:#b9cbbf;background:#09110d;cursor:pointer}.runtime-log-row:hover,.runtime-log-row.is-selected{border-color:#3f7750;background:#0d1b12}.runtime-log-status{display:grid;place-items:center;height:28px;border-radius:6px;font:800 10px ui-monospace,monospace}.runtime-log-status.is-4xx{color:#f7c948;background:#2b2610}.runtime-log-status.is-5xx{color:#ff9d9d;background:#321516}.runtime-log-main{min-width:0;display:grid;gap:3px}.runtime-log-main strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.runtime-log-main code{color:#8df5a6}.runtime-log-main small,.runtime-log-row time{color:#71847a;font-size:9px}.runtime-log-row time{white-space:nowrap}.runtime-log-details{display:grid;gap:10px}.runtime-log-details .integration-card-title{justify-content:space-between;margin-bottom:0}.runtime-log-details section{display:grid;gap:5px}.runtime-log-details section>strong{color:#90a99a;font-size:9px}.runtime-log-details pre{max-height:180px;margin:0;padding:8px;overflow:auto;border:1px solid #203328;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere;color:#aec4b6;background:#050a07;font:9px/1.5 ui-monospace,monospace}.window-titlebar{min-height:54px;height:auto;flex-basis:auto;gap:12px;padding:7px 9px 7px 12px}.window-identity{flex:0 1 auto}.window-header-actions{min-width:0;margin-left:auto}.runtime-header-toolbar{justify-content:flex-end}.runtime-action-divider{width:1px;height:22px;background:#d8dfdb}.window-controls{margin-left:0;flex:0 0 auto}.module-window{height:100%}.module-preview.real-runtime{min-height:0}.module-runtime-canvas{overflow:auto;overscroll-behavior:contain}@media(max-width:1180px){.lab-app{--right-sidebar-width: 50px}.integration-sidebar{width:50px!important}.integration-sidebar>:not(.ui-sidebar-collapse):not(.collapsed-sidebar-icon){display:none}.window-titlebar{align-items:flex-start;flex-wrap:wrap}.window-header-actions{order:3;width:100%}.runtime-header-toolbar{justify-content:flex-start}}@media(max-width:760px){.lab-app{--left-sidebar-width: 64px;--right-sidebar-width: 0px;grid-template-columns:var(--left-sidebar-width) minmax(0,1fr)}.integration-sidebar{display:none}.workspace-heading{display:flex;align-items:stretch}.workspace-heading h1{white-space:normal}.workspace-heading .project-heading-actions{align-items:stretch;flex-wrap:wrap}.window-titlebar{max-height:126px;overflow-y:auto}.runtime-header-toolbar{align-items:flex-start}}.brand-mark{overflow:visible;border:0;background:transparent;filter:drop-shadow(0 0 9px rgba(57,255,131,.2))}.brand-mark svg{width:36px;height:36px}.environment-panel{gap:10px;padding-top:8px}.environment-current{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:10px;border:1px solid #28533a;border-radius:10px;background:linear-gradient(135deg,#2374432e,#08110cb8)}.environment-current>div{min-width:0;display:grid;gap:3px}.environment-current span,.environment-section-heading>span{color:#79d99b;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.environment-current strong{overflow:hidden;color:#e3f2e8;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.environment-current>small{grid-column:1 / -1;overflow:hidden;color:#71867a;font:9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.environment-section{display:grid;gap:7px;padding:10px;border:1px solid #1b2b22;border-radius:10px;background:#09110d}.environment-section-heading{display:grid;gap:2px;padding-bottom:2px}.environment-section-heading small{color:#66786e;font-size:9px;line-height:1.4}.environment-section>label{color:#788c80;font-size:9px;font-weight:700}.create-worktree-toggle{border-style:dashed;background:transparent}.technical-settings{position:fixed;inset:0;width:min(940px,calc(100vw - 32px));max-width:940px;height:min(820px,calc(100dvh - 32px));max-height:820px;margin:auto;padding:0;overflow:hidden}.technical-settings[open]{display:flex;flex-direction:column}.technical-settings-header,.technical-settings-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#09120d}.technical-settings-header{border-bottom:1px solid #203328}.technical-settings-header>div{min-width:0;display:grid;gap:4px}.technical-settings-header h2{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.technical-settings-body{min-height:0;flex:1;display:grid;align-content:start;gap:14px;padding:16px 18px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2b6a43 transparent}.technical-settings-footer{border-top:1px solid #203328}.technical-settings-footer span{color:#71847a;font-size:10px}.settings-section{gap:12px!important}.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-section-heading>div{min-width:0;display:grid;gap:5px}.settings-section-heading h3{font-size:14px}.settings-section-heading p{margin:0;line-height:1.5}.settings-section-heading>span{flex:0 0 auto;padding:4px 7px;border:1px solid #294232;border-radius:999px;color:#82ad91;background:#0b1810;font-size:9px;font-weight:750}.settings-list article{grid-template-columns:minmax(0,1fr) auto auto}.settings-item-copy{min-width:0}.settings-item-copy strong,.settings-item-copy code,.settings-item-copy small{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-item-copy strong{color:#dcebe2;font-size:11px}.settings-item-copy code{color:#89aa96;font-size:10px}.settings-item-copy small{color:#6d7f75;font-size:9px}.settings-item-actions{display:flex;justify-content:flex-end;gap:6px}.api-key-settings-list article{grid-template-columns:minmax(0,1fr) auto auto}.copy-once code{min-width:0;max-height:72px;overflow:auto;font-size:10px}.settings-confirmation-layer{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:18px;background:#020704c2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-confirmation{position:relative;inset:auto;width:min(440px,100%);max-width:440px;margin:0;display:grid;gap:14px;padding:18px;border:1px solid #315c40;border-radius:13px;color:#e7f3eb;background:#0a140e;box-shadow:0 24px 80px #000000b3}.settings-confirmation.is-danger{border-color:#693638}.settings-confirmation>div:first-child{min-width:0;display:grid;gap:5px}.settings-confirmation span{color:#79d99b;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.settings-confirmation.is-danger span{color:#f18b87}.settings-confirmation h3{font-size:16px}.settings-confirmation p{margin:0;overflow:hidden;line-height:1.55;text-overflow:ellipsis}.settings-confirmation code{display:block;overflow:hidden;color:#8ca097;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.settings-confirmation label{color:#a9bbb0;font-size:10px;font-weight:700}.settings-confirmation input{width:100%;height:38px;padding:0 10px;border:1px solid #315b40;border-radius:8px;outline:0;color:#edf7f1;background:#07100a}.settings-confirmation input:focus{border-color:#54d883;box-shadow:var(--doppio-focus)}.settings-confirmation-actions{display:flex!important;justify-content:flex-end;gap:8px!important}.integration-heading span{font-size:10px}.integration-heading strong{font-size:13px}.integration-heading small{font-size:10px}.integration-card-title{font-size:12px}.integration-content dt,.integration-layer>span{font-size:10px}.integration-content dd{max-width:180px;font-size:10px}.integration-empty{font-size:11px}.endpoint-row summary{font-size:12px}.endpoint-row p,.endpoint-row small,.package-result{font-size:11px}@media(max-width:680px){.technical-settings{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.technical-settings-header,.technical-settings-footer,.technical-settings-body{padding:12px}.technical-settings-footer span{display:none}.settings-list article,.api-key-settings-list article{grid-template-columns:minmax(0,1fr) auto}.settings-item-actions{grid-column:1 / -1}.key-create{grid-template-columns:1fr}.key-create label{grid-column:auto}}.project-lifecycle{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:16px}.project-next-step{display:flex;align-items:center;justify-content:space-between;gap:20px}.project-next-step>div{min-width:0}.project-lifecycle .lifecycle-eyebrow{display:block;font-size:11px;color:var(--doppio-text-muted);margin-bottom:8px}.project-lifecycle .project-next-step h2{font-size:20px}.project-lifecycle .project-next-step p{font-size:13px;max-width:680px}.project-lifecycle summary{cursor:pointer;font-size:12px;color:var(--doppio-text);padding-block:10px}.project-lifecycle summary:focus-visible{outline:2px solid var(--doppio-text);outline-offset:3px}.lifecycle-module{border-top:1px solid var(--doppio-border);padding-block:12px}.lifecycle-module .source-module-row strong{font-size:14px}.lifecycle-module .source-module-row small{font-size:12px;margin-top:4px}.lifecycle-actions{display:flex;flex-wrap:wrap;gap:8px}.project-environment code{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}@media(max-width:680px){.project-next-step{align-items:stretch;flex-direction:column}.source-module-row{flex-wrap:wrap}}.project-lifecycle .ui-card{padding:16px;min-width:0}.project-lifecycle h2{font-size:14px;margin:0 0 8px}.project-lifecycle p,.project-editor p{color:var(--doppio-text-muted);font-size:11px;line-height:1.5}.project-lifecycle fieldset{display:grid;gap:12px;min-width:0;margin:0;padding:0;border:0}.project-lifecycle label{display:grid;gap:8px;font-size:11px;color:var(--doppio-text-muted)}.project-lifecycle input,.project-lifecycle select{width:100%;min-width:0;padding:8px;border:1px solid var(--doppio-border);border-radius:var(--doppio-radius-sm);background:var(--doppio-surface);color:var(--doppio-text)}.source-module-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block:8px}.source-module-row>span{display:grid;min-width:0;overflow-wrap:anywhere;font-size:11px}.source-module-row small{color:var(--doppio-text-muted)}.project-source-summary{display:block;margin-block:12px;font-size:10px;color:var(--doppio-text-muted)}.project-source-summary code{overflow-wrap:anywhere;min-width:0;-webkit-user-select:text;user-select:text}.project-heading-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.project-source-summary summary{cursor:pointer;padding-block:6px}.project-source-summary[open]{display:grid;gap:8px}.new-project-action{margin-top:8px}.project-next-step>.ui-button{flex-shrink:0;min-width:116px}.key-create{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:end}.key-create input{grid-column:1;grid-row:2;min-width:0}.key-create select{grid-column:2;grid-row:2;min-width:0}.key-create>button{grid-column:3;grid-row:2}@media(max-width:680px){.key-create{grid-template-columns:minmax(0,1fr)}.key-create label,.key-create input,.key-create select,.key-create>button{grid-column:1;grid-row:auto}.project-heading-actions{justify-content:flex-start}}.technical-settings pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.lab-workspace{padding:0;gap:0}.module-window-slot,.module-window-slot>.module-window.is-chromeless{border:0;border-radius:0;outline:0;box-shadow:none}.module-window.is-chromeless .module-window-body{padding:0}.lab-app .module-window.is-fullscreen{inset:0 var(--right-sidebar-width) 0 0;width:auto!important}.lab-workspace>.loading-state,.lab-workspace>.error-banner{margin:12px}.lab-workspace>.project-lifecycle{padding:16px;max-height:70dvh;overflow-y:auto;flex-shrink:0}.sidebar-project-directory{flex:0 0 auto;margin:0 12px 10px;padding:8px;border:1px solid var(--doppio-border);border-radius:var(--doppio-radius-sm);color:var(--doppio-text-muted);font-size:10px}.sidebar-project-directory summary{display:flex;align-items:center;gap:6px;cursor:pointer}.sidebar-project-directory code{display:block;margin-block:10px;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;color:var(--doppio-text);font-size:9px}.sidebar-project-directory small{display:block;margin-top:8px}.lab-app .integration-sidebar{flex-direction:row}.lab-app .workspace-action-rail{width:50px;height:100%;flex:0 0 50px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:62px 6px 12px;overflow-y:auto;scrollbar-width:thin;border-right:1px solid var(--doppio-border)}.workspace-action-rail .ui-icon-button,.workspace-action-rail .ui-button{width:34px;min-height:34px;padding:0;flex-shrink:0}.workspace-action-rail .runtime-header-toolbar.is-icon-toolbar{flex-direction:column;flex-wrap:nowrap;align-items:center;gap:8px;padding-block:8px}.workspace-action-rail .runtime-action-divider{width:22px;height:1px;background:var(--doppio-border)}.workspace-action-rail .ui-status-group{flex-wrap:nowrap;gap:4px}.rail-status-dot{width:6px;height:6px;border-radius:50%;background:var(--doppio-warning)}.rail-status-dot[data-ready=true]{background:var(--doppio-brand-strong)}.rail-window-controls{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--doppio-border)}.integration-detail{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.agent-work-window .agent-work-panel{max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:visible}.agent-work-window .agent-work-summary{display:flex;flex-direction:column;align-items:stretch;gap:12px}.agent-work-window .agent-work-identity{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.agent-work-window .agent-work-identity>span{display:none}.agent-work-window .agent-work-identity strong{white-space:normal;overflow-wrap:anywhere;font-size:12px}.agent-work-window .agent-work-overall{justify-content:space-between}.agent-work-window .agent-work-actions{display:flex;gap:8px}.agent-work-window .agent-work-tree{max-height:none;overflow:visible}.agent-work-window .agent-work-node-row{align-items:flex-start}.agent-work-window .agent-work-node-copy{display:grid;gap:5px}.agent-work-window .agent-work-node-copy small{white-space:normal;overflow-wrap:anywhere;line-height:1.5}.agent-task-title{display:flex;align-items:flex-start;gap:8px;width:100%}.agent-task-title>strong{flex:1;min-width:0}.agent-task-title .ui-icon-button{flex-shrink:0}.agent-work-window .agent-task-toggle{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex:1;min-width:0;border:0;padding:3px 0;background:transparent;color:var(--doppio-text);text-align:left}.agent-task-toggle strong{overflow-wrap:anywhere;white-space:normal;font-size:10px;font-weight:600}.agent-task-toggle svg,.agent-task-toggle .agent-work-node-dot{flex-shrink:0}.agent-work-window .agent-task-dismiss{width:24px;min-height:24px;flex-shrink:0}.agent-task-collapse{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--doppio-motion),opacity var(--doppio-motion)}.agent-task-collapse[data-expanded=false]{grid-template-rows:0fr;opacity:0}.agent-task-collapse-body{min-height:0;overflow:hidden}.agent-task-detail,.agent-task-completion{display:block;margin:5px 0 7px 20px;color:var(--doppio-text-muted);font-size:9px;line-height:1.6;overflow-wrap:anywhere}.agent-work-window .agent-work-identity>.agent-task-completion{margin:0}.agent-work-window .agent-work-node-dot.is-running,.agent-work-window .agent-work-node-dot.is-queued,.agent-work-window .agent-work-node-dot.is-cancelling{width:10px;height:10px;margin-top:0;border:2px solid var(--doppio-border-strong);border-top-color:var(--doppio-brand);border-radius:50%;background:transparent;animation:agent-task-loading .85s linear infinite}.agent-work-window .agent-work-progress>span{transition:width var(--doppio-motion)}.agent-work-window .agent-work-node,.agent-work-window{animation:agent-task-arrival var(--doppio-motion)}@keyframes agent-task-loading{to{transform:rotate(360deg)}}@keyframes agent-task-arrival{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.agent-work-window,.agent-work-window .agent-work-node,.agent-work-window .agent-work-node-dot{animation:none!important}.agent-task-collapse,.agent-work-window .agent-work-progress>span{transition:none}}@media(max-width:1180px){.integration-sidebar[data-collapsed]>.workspace-action-rail,.integration-sidebar[data-collapsed]>.integration-detail{display:flex}.integration-sidebar[data-collapsed=false]{position:fixed;top:0;right:0;z-index:60;width:min(400px,calc(100vw - 64px))!important}}@media(max-width:760px){.lab-app{--left-sidebar-width: 64px;--right-sidebar-width: 50px;grid-template-columns:var(--left-sidebar-width) minmax(0,1fr) var(--right-sidebar-width)}.integration-sidebar{display:flex}.lab-sidebar>.project-summary,.lab-sidebar>.sidebar-project-directory,.lab-sidebar>.environment-panel{display:none}.module-window.is-chromeless{height:100%}}
