:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fff;--color-surface:#f4f5f7;--color-surface-strong:#e9ebef;--color-line:#d8dce3;--color-ink:#0b1026;--color-ink-muted:#5b6275;--color-primary:#ffd23f;--color-on-primary:#0b1026;--color-focus:#0b1026;--color-success:#0f8a5f;--color-danger:#d92d20;--color-warning:#b54708;--color-running:#1f4fd8;--color-rolledback:#6b4fbb;--color-env-onprem:#14b8a6;--color-env-aws:#f97316;--color-env-gcp:#3b82f6;--color-env-azure:#0ea5e9;--color-primary-hover:#f5b301;--color-card:var(--color-bg);--color-card-foreground:var(--color-ink);--color-input:var(--color-line);--color-secondary-foreground:var(--color-ink);--color-accent:var(--color-ink);--color-accent-foreground:var(--color-bg);--color-destructive-foreground:var(--color-bg);--color-status-bg:var(--color-surface);--color-status-queued:var(--color-ink-muted);--color-status-running:var(--color-running);--color-status-success:var(--color-success);--color-status-failed:var(--color-danger);--color-status-warning:var(--color-warning);--color-status-rolledback:var(--color-rolledback);--font-sans:"IBM Plex Sans KR", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-none:0;--radius-sm:2px;--radius-md:4px;--border:1px solid var(--color-line);--border-overlay:1px solid var(--color-ink);--color-backdrop:#0b102666;--border-focus:2px solid var(--color-focus)}:root:lang(ja){--font-sans:"IBM Plex Sans JP", "IBM Plex Sans KR", system-ui, -apple-system, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1026;--color-surface:#141c3f;--color-surface-strong:#1e2a5a;--color-line:#2f3f82;--color-ink:#f4f5f7;--color-ink-muted:#9aa3bd;--color-focus:#f4f5f7;--color-success:#4ade9b;--color-danger:#f97066;--color-warning:#fdb022;--color-running:#7fa8ff;--color-rolledback:#b9a6f2;--color-primary-hover:#ffdc57}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1026;--color-surface:#141c3f;--color-surface-strong:#1e2a5a;--color-line:#2f3f82;--color-ink:#f4f5f7;--color-ink-muted:#9aa3bd;--color-focus:#f4f5f7;--color-success:#4ade9b;--color-danger:#f97066;--color-warning:#fdb022;--color-running:#7fa8ff;--color-rolledback:#b9a6f2;--color-primary-hover:#ffdc57}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:22px}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}code,pre,kbd{font-family:var(--font-mono)}a{color:inherit}:focus-visible{outline:var(--border-focus);outline-offset:2px}.t-display{font-family:var(--font-sans);font-size:40px;font-weight:600;line-height:48px}.t-h1{font-family:var(--font-sans);font-size:24px;font-weight:600;line-height:32px}.t-h2{font-family:var(--font-sans);font-size:18px;font-weight:600;line-height:26px}.t-body{font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:22px}.t-body-sm{font-family:var(--font-sans);font-size:13px;font-weight:400;line-height:20px}.t-label{font-family:var(--font-sans);font-size:13px;font-weight:500;line-height:18px}.t-mono{font-family:var(--font-mono);font-size:13px;font-weight:400;line-height:20px}.t-mono-sm{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:18px}.t-overline{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500;line-height:16px}.t-muted{color:var(--color-ink-muted)}.avatar{border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar--s{width:24px;height:24px}.avatar--m{width:32px;height:32px}.avatar--human{background:var(--color-surface-strong);color:var(--color-secondary-foreground);font-size:13px;font-weight:500;line-height:18px}.avatar--ai{background:var(--color-accent);color:var(--color-bg);font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:16px}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-ink);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface-strong);color:var(--color-secondary-foreground)}.btn--secondary:hover:not(:disabled){background:var(--color-surface)}.btn--outline{border:var(--border);background:var(--color-bg)}.btn--outline:hover:not(:disabled),.btn--ghost:hover:not(:disabled){background:var(--color-surface)}.btn--destructive{background:var(--color-danger);color:var(--color-destructive-foreground)}.btn--destructive:hover:not(:disabled){opacity:.9}.btn--lg{padding:13px var(--space-6);font-size:15px;line-height:22px}.connection{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-status-bg);color:var(--connection-fg);white-space:nowrap;border:0;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}button.connection{cursor:pointer}.connection--connected{--connection-fg:var(--color-status-success)}.connection--polling{--connection-fg:var(--color-ink-muted)}.connection--reconnecting{--connection-fg:var(--color-status-warning)}.connection--disconnected{--connection-fg:var(--color-status-failed)}.connection-dot{background:var(--connection-fg);border-radius:50%;width:8px;height:8px}.logo{color:var(--color-ink);align-items:center;gap:10px;display:inline-flex}.logo__wordmark{font-family:var(--font-mono);letter-spacing:-.5px;font-size:22px;font-weight:500;line-height:32px}.mock-badge{padding:var(--space-1) var(--space-2);border:1px dashed var(--color-warning);border-radius:var(--radius-sm);background:var(--color-status-bg);color:var(--color-warning);font-family:var(--font-mono);letter-spacing:.08em;align-items:center;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.mock-badge--compact{padding:0 var(--space-1);letter-spacing:0;font-size:10px}.tooltip{display:inline-flex;position:relative}.tooltip__bubble{z-index:20;bottom:calc(100% + var(--space-1));padding:var(--space-1) var(--space-2);border:var(--border-overlay);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-bg);white-space:nowrap;pointer-events:none;visibility:hidden;font-size:13px;font-weight:500;line-height:18px;position:absolute;left:50%;transform:translate(-50%)}.tooltip:hover .tooltip__bubble,.tooltip:focus-within .tooltip__bubble{visibility:visible}.nav-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink-muted);text-align:left;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:500;line-height:18px;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--color-surface-strong)}.nav-item--active{background:var(--color-surface-strong);color:var(--color-ink)}.nav-item--active:before{content:"";background:var(--color-ink);width:2px;height:20px;position:absolute;top:8px;left:0}.nav-item__label{flex:1}.nav-item__badge{border-radius:var(--radius-sm);background:var(--color-ink);min-width:20px;color:var(--color-bg);font-family:var(--font-mono);text-align:center;padding:1px 6px;font-size:12px;line-height:18px}.nav-item--collapsed{justify-content:center;width:40px;height:40px;padding:0}.nav-item--collapsed.nav-item--active:before{top:10px}.nav-item__dot{background:var(--color-ink);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.sidebar--collapsed .tooltip__bubble{top:50%;bottom:auto;left:calc(100% + var(--space-2));transform:translateY(-50%)}.project-menu{border:var(--border-overlay);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:2px;width:240px;padding:6px;display:flex}.project-menu__title{padding:6px 0 4px 10px}.project-menu__item{padding:var(--space-2) 10px;border-radius:var(--radius-sm);color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.project-menu__item:hover,.project-menu__item[aria-checked=true]{background:var(--color-surface-strong)}.project-menu__text{flex-direction:column;flex:1;display:flex}.project-menu__divider{border:0;border-top:var(--border);width:100%;margin:0}.project-initials{border-radius:var(--radius-sm);background:var(--color-ink);width:28px;height:28px;color:var(--color-bg);font-family:var(--font-mono);flex:none;justify-content:center;align-items:center;font-size:12px;line-height:18px;display:inline-flex}.sidebar{gap:var(--space-4);width:240px;height:100vh;padding:20px var(--space-4) var(--space-4);border-right:var(--border);background:var(--color-surface);flex-direction:column;flex:none;display:flex;position:sticky;top:0}.sidebar--collapsed{width:64px;padding:20px var(--space-3) var(--space-4);align-items:center}.sidebar__switcher{width:100%;position:relative}.sidebar--collapsed .sidebar__switcher{width:auto}.sidebar__project{width:100%;padding:var(--space-2) 10px;border:var(--border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-ink);text-align:left;cursor:pointer;align-items:center;gap:10px;display:flex}.sidebar--collapsed .sidebar__project{background:0 0;border:0;width:32px;height:32px;padding:0}.sidebar--collapsed .sidebar__project .project-initials{width:32px;height:32px}.sidebar__project-text{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar__menu{z-index:30;top:calc(100% + var(--space-1));position:absolute;left:0}.sidebar--collapsed .sidebar__menu{top:0;left:calc(100% + var(--space-3))}.sidebar__new-wide{width:100%}.sidebar__new{border:var(--border-overlay);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.sidebar__group{flex-direction:column;gap:2px;width:100%;display:flex}.sidebar--collapsed .sidebar__group{align-items:center}.sidebar__envs{flex-direction:column;gap:6px;width:100%;display:flex}.sidebar--collapsed .sidebar__envs{align-items:center;gap:var(--space-2)}.sidebar__envs-title{justify-content:space-between;align-items:center;display:flex}.sidebar__env{align-items:center;gap:var(--space-2);padding:0 0 0 var(--space-3);color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;font-size:13px;line-height:20px;display:flex}.sidebar__env-name{flex:1}.sidebar__env-dots{align-items:center;gap:var(--space-1);display:inline-flex}.sidebar__env-color{border-radius:var(--radius-sm);width:8px;height:8px}.sidebar__status-dot{border-radius:50%;width:6px;height:6px}.sidebar__spacer{flex:1}.sidebar__divider{border:0;border-top:var(--border);width:100%;margin:0}.sidebar__user{align-items:center;gap:10px;width:100%;display:flex}.sidebar--collapsed .sidebar__user{flex-direction:column}.sidebar__user-text{flex-direction:column;flex:1;display:flex}.sidebar__toggle{color:var(--color-ink);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.sidebar__toggle--open svg{transform:rotate(180deg)}.dialog{width:440px;max-width:calc(100vw - var(--space-8));padding:var(--space-6);border:var(--border-overlay);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-card-foreground)}.dialog[open]{gap:var(--space-4);flex-direction:column;display:flex}.dialog::backdrop{background:var(--color-backdrop)}.dialog__header{align-items:center;gap:var(--space-2);display:flex}.dialog__title{flex:1}.dialog__close{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.dialog__desc{color:var(--color-ink-muted)}.dialog__footer{justify-content:flex-end;gap:var(--space-2);display:flex}.app-layout{min-height:100vh;display:flex}.app-layout__main{min-width:0;padding:var(--space-8) var(--space-8) var(--space-16);flex:1}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-8);border-radius:var(--radius-md);background:var(--color-surface);text-align:center;flex-direction:column;display:flex}.empty-state__icon{border-radius:var(--radius-sm);background:var(--color-surface-strong);justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--color-status-bg);display:flex}.alert--info{--alert-fg:var(--color-status-running)}.alert--warning{--alert-fg:var(--color-status-warning)}.alert--danger{--alert-fg:var(--color-status-failed)}.alert--success{--alert-fg:var(--color-status-success)}.alert__icon{color:var(--alert-fg);display:inline-flex}.alert__content{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.alert__title{color:var(--alert-fg);font-size:13px;font-weight:500;line-height:18px}.alert__desc{color:var(--color-ink);font-size:13px;line-height:20px}.skeleton{background:var(--color-surface);animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.skeleton--line{border-radius:var(--radius-sm);width:240px;height:12px}.skeleton--block{border-radius:var(--radius-md);width:240px;height:64px}.skeleton--circle{border-radius:50%;width:32px;height:32px}@keyframes skeleton-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.panel{gap:var(--space-4);min-width:0;padding:var(--space-6);border:var(--border);border-radius:var(--radius-md);background:var(--color-card);flex-direction:column;display:flex}.panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.status-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-status-bg);color:var(--status-fg);white-space:nowrap;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.status-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge--queued{--status-fg:var(--color-status-queued)}.status-badge--running{--status-fg:var(--color-status-running)}.status-badge--success{--status-fg:var(--color-status-success)}.status-badge--failed{--status-fg:var(--color-status-failed)}.status-badge--warning{--status-fg:var(--color-status-warning)}.status-badge--rolledback{--status-fg:var(--color-status-rolledback)}.run-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border);color:var(--color-ink);text-decoration:none;display:flex}.run-item--link:hover{background:var(--color-surface)}.run-item__message{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.run-item__time{flex:none}.spinner{flex:none;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.step-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-ink);font-size:13px;font-weight:500;line-height:18px;display:flex}.step-item__icon{width:16px;height:16px;display:inline-flex}.step-item__icon .spinner{width:16px;height:16px}.step-item__label{flex:1}.step-item--pending{color:var(--color-ink-muted)}.step-item--running{background:var(--color-status-bg)}.step-item--done .step-item__icon{color:var(--color-status-success)}.step-item--failed{background:var(--color-status-bg)}.step-item--failed .step-item__icon{color:var(--color-status-failed)}.step-item--skipped{color:var(--color-ink-muted)}.stepper{align-items:center;gap:var(--space-3);margin:0;padding:0;list-style:none;display:flex}.stepper__step{align-items:center;gap:var(--space-2);color:var(--color-ink);white-space:nowrap;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.stepper__bullet{border-radius:var(--radius-sm);background:var(--color-surface);justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.stepper__step--done .stepper__bullet{border:var(--border)}.stepper__step--current .stepper__bullet{background:var(--color-primary);color:var(--color-on-primary)}.stepper__step--upcoming{color:var(--color-ink-muted)}.stepper__connector{background:var(--color-line);width:32px;height:2px}.stepper__connector--done{background:var(--color-status-success)}.infra-block{flex:none;overflow:visible}.infra-block__face{stroke:var(--color-bg);stroke-width:.75px;stroke-linejoin:round}.infra-block__face--top{fill:color-mix(in srgb, var(--color-ink) 55%, var(--color-bg))}.infra-block__face--left{fill:color-mix(in srgb, var(--color-ink) 82%, var(--color-bg))}.infra-block__face--right{fill:var(--color-ink)}.infra-block__blocks{transition:opacity .2s}.infra-block__blocks--fading{opacity:0}.infra-block__drop{animation:.45s cubic-bezier(.34,1.4,.64,1) both infra-drop}@keyframes infra-drop{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.infra-block__drop{animation:none}}.transition-loader{justify-content:center;align-items:center;gap:var(--space-6);min-height:calc(100vh - 200px);padding:var(--space-12);flex-direction:column;display:flex}.transition-loader__text{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.transition-loader__caption{white-space:nowrap;height:20px;animation:.2s ease-out caption-in}@keyframes caption-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.transition-loader__caption{animation:none}}.page{gap:var(--space-6);flex-direction:column;max-width:1376px;display:flex}.page__row{gap:var(--space-6);display:grid}.page__row--2{grid-template-columns:1fr 1fr}.page__row--main-side{grid-template-columns:minmax(0,732fr) minmax(0,380fr)}.page__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.page__row--envs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.page__actions{gap:var(--space-2);display:flex}.page__list{flex-direction:column;display:flex}.page__center{justify-content:center;align-items:center;min-height:240px;display:flex}@media (width<=1000px){.page__row--2,.page__row--main-side{grid-template-columns:1fr}}@media (width<=860px){.page__row--3{grid-template-columns:1fr}}.data-table__wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px;line-height:20px}.data-table th{padding:var(--space-2) var(--space-3);border-bottom:var(--border);background:var(--color-surface);color:var(--color-ink-muted);text-align:left;white-space:nowrap;font-weight:500}.data-table td{padding:var(--space-3);border-bottom:var(--border);vertical-align:middle}.data-table__row--clickable{cursor:pointer}.data-table__row--clickable:hover,.data-table__row--selected{background:var(--color-surface)}.env-tag{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:var(--border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink);white-space:nowrap;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.env-tag__color{border-radius:var(--radius-sm);width:8px;height:8px}.select{width:100%;position:relative}.select__trigger{align-items:center;gap:var(--space-2);width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--color-input);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-ink);text-align:left;cursor:pointer;font-size:15px;line-height:22px;display:flex}.select__trigger[aria-expanded=true],.select__trigger:focus-visible{border-color:var(--color-focus);outline:1px solid var(--color-focus);outline-offset:-2px}.select__trigger:disabled{opacity:.45;cursor:not-allowed}.select__value{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.select-menu{z-index:10;top:calc(100% + var(--space-1));padding:var(--space-1);border:var(--border-overlay);border-radius:var(--radius-md);background:var(--color-card);margin:0;list-style:none;position:absolute;left:0;right:0}.select-menu__option{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-size:15px;line-height:22px;display:flex}.select-menu__option--active,.select-menu__option:hover{background:var(--color-surface)}.code-block{border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);margin:0;overflow:hidden}.code-block__header{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:var(--border);display:flex}.code-block__ai{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-bg);font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:16px}.code-block__copy{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;display:inline-flex}.code-block__body{padding:var(--space-3) var(--space-4);font-family:var(--font-mono);margin:0;font-size:12px;line-height:18px;overflow-x:auto}.code-block__add{color:var(--color-status-success)}.code-block__del{color:var(--color-status-failed)}.input{width:100%;height:36px;padding:0 var(--space-3);border:1px solid var(--color-input);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-ink);font-size:15px;line-height:22px}.input::placeholder{color:var(--color-ink-muted)}.input:focus{border-color:var(--color-focus);outline:1px solid var(--color-focus);outline-offset:-2px}.input--error,.input--error:focus{border-color:var(--color-danger);outline-color:var(--color-danger);color:var(--color-danger)}.input:disabled{background:var(--color-surface);color:var(--color-ink-muted);opacity:.6;cursor:not-allowed}.tabs{border-bottom:var(--border);display:flex}.tabs__item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--color-line);color:var(--color-ink-muted);cursor:pointer;background:0 0;margin-bottom:-1px;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.tabs__item[aria-selected=true]{border-bottom:2px solid var(--color-focus);color:var(--color-ink);padding-bottom:7px}.tabs__env{border-radius:var(--radius-sm);width:8px;height:8px}.source-card{align-items:flex-start;gap:var(--space-3);width:320px;padding:var(--space-6);border:var(--border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-card-foreground);text-align:left;cursor:pointer;flex-direction:column;display:flex}.source-card[aria-pressed=true]{border:2px solid var(--color-focus);background:var(--color-surface-strong);padding:23px}.source-card__icon{border-radius:var(--radius-md);background:var(--color-surface);justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.source-card[aria-pressed=true] .source-card__icon{background:var(--color-ink);color:var(--color-bg)}.log-viewer{border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-bg);overflow:hidden}.log-viewer__header{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);display:flex}.log-viewer__follow{color:var(--color-ink-muted);margin-left:auto}.log-viewer__body{gap:var(--space-1);max-height:320px;padding:var(--space-3) var(--space-4);font-family:var(--font-mono);flex-direction:column;font-size:12px;line-height:18px;display:flex;overflow-y:auto}.log-viewer__line{gap:var(--space-3);white-space:pre;display:flex}.log-viewer__muted{color:var(--color-ink-muted)}.toast{gap:var(--space-3);width:360px;padding:var(--space-3) var(--space-4);border:var(--border-overlay);border-radius:var(--radius-md);background:var(--color-card);display:flex}.toast--success{--toast-fg:var(--color-status-success)}.toast--error{--toast-fg:var(--color-status-failed)}.toast--info{--toast-fg:var(--color-status-running)}.toast__icon{color:var(--toast-fg);display:inline-flex}.toast__content{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.toast__title{color:var(--color-card-foreground);font-size:13px;font-weight:500;line-height:18px}.toast__desc{color:var(--color-ink-muted);font-size:13px;line-height:20px}.toast__close{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;display:inline-flex}.checkbox{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.checkbox__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.checkbox__box{border:1.5px solid var(--color-input);border-radius:var(--radius-sm);background:var(--color-bg);flex:none;width:18px;height:18px;display:inline-flex}.checkbox__box svg{stroke:var(--color-bg);visibility:hidden;margin:-1.5px}.checkbox__input:checked+.checkbox__box{border-color:var(--color-focus);background:var(--color-ink)}.checkbox__input:checked+.checkbox__box svg{visibility:visible}.checkbox__input:focus-visible+.checkbox__box{outline:var(--border-focus);outline-offset:2px}.checkbox__input:disabled+.checkbox__box{opacity:.45;cursor:not-allowed}.login{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login__brand{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-8);border-right:var(--border);background:var(--color-surface);flex-direction:column;display:flex}.login__slogan{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;max-width:489px;display:flex}.login__form-area{padding:var(--space-8);justify-content:center;align-items:center;display:flex;position:relative}.login__lang{top:var(--space-6);right:var(--space-6);width:200px;position:absolute}.login__form{gap:var(--space-6);flex-direction:column;width:400px;max-width:100%;display:flex}.login__heading{gap:var(--space-2);flex-direction:column;display:flex}.login__fields{gap:var(--space-4);flex-direction:column;display:flex}.login__field{flex-direction:column;gap:6px;display:flex}.login__full{width:100%}.login__or{align-items:center;gap:var(--space-3);display:flex}.login__or span:not(.t-mono-sm){background:var(--color-line);flex:1;height:1px}.login__mac{align-items:center;gap:6px;display:flex}.login__link{color:var(--color-ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;line-height:20px;text-decoration:underline}.login__mock{align-items:center;gap:var(--space-2);display:flex}@media (width<=900px){.login{grid-template-columns:1fr}.login__brand{display:none}}.parity{border:var(--border);border-radius:var(--radius-md);background:var(--color-card);overflow:hidden}.parity__title{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);display:flex}.parity__summary{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-status-bg);color:var(--color-status-success);margin-left:auto;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.parity__summary--partial{color:var(--color-status-warning)}.parity__table{border-collapse:collapse;table-layout:fixed;width:100%}.parity__table th,.parity__table td{padding:var(--space-3) var(--space-6);border-top:var(--border);text-align:left;vertical-align:middle}.parity__table thead th{background:var(--color-surface);font-size:13px;font-weight:500;line-height:18px}.parity__table tbody th{font-weight:400}.parity__table thead th:first-child{width:200px}.parity__table td{overflow-wrap:anywhere}.parity__table td>svg{margin-right:var(--space-1);vertical-align:-2px}.parity__bad{color:var(--color-status-failed)}.parity__env{width:8px;height:8px;margin-right:var(--space-1);border-radius:var(--radius-sm);display:inline-block}.parity__summary--unknown{color:var(--color-ink-muted)}.parity__table thead .cloud-logo{margin-right:var(--space-1);vertical-align:-2px}.env-row{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border);grid-template-columns:96px 64px 56px minmax(0,1fr) auto;display:grid}.env-row__tag{display:inline-flex}.env-row__url{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview__parity{align-items:center;gap:var(--space-2);display:flex}.overview__grow{flex:1}.scripts__bottom{gap:var(--space-6);grid-template-columns:minmax(0,752fr) minmax(0,360fr);align-items:start;display:grid}@media (width<=1000px){.scripts__bottom{grid-template-columns:1fr}}.toggle{border:1px solid var(--color-input);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;flex:none;width:36px;height:20px;padding:0;position:relative}.toggle__knob{border-radius:var(--radius-sm);background:var(--color-ink-muted);width:14px;height:14px;transition:left .12s;position:absolute;top:2px;left:2px}.toggle[aria-checked=true]{border-color:var(--color-focus);background:var(--color-ink)}.toggle[aria-checked=true] .toggle__knob{background:var(--color-bg);left:18px}.toggle:disabled{opacity:.45;cursor:not-allowed}.env-card{column-gap:var(--space-2);row-gap:var(--space-3);padding:var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--color-card);grid-template-columns:18px 1fr;align-items:center;display:grid;position:relative}.env-card--selected{border:2px solid var(--color-focus);background:var(--color-surface-strong);padding:15px}.env-card__header{justify-content:space-between;align-items:center;min-height:28px;display:flex}.env-card__title,.env-card__desc{grid-column:1/-1}.env-card__title{color:var(--color-card-foreground);font-size:13px;font-weight:500;line-height:18px}.env-card__recommend{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-foreground);font-size:13px;font-weight:500;line-height:18px}.dev-page{gap:var(--space-12);max-width:1340px;padding:var(--space-12);flex-direction:column;display:flex}.dev-page section{gap:var(--space-4);flex-direction:column;display:flex}.dev-header{justify-content:space-between;align-items:center;display:flex}.dev-theme{gap:var(--space-2);display:flex}.dev-theme button{padding:var(--space-1) var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer}.dev-theme button[aria-pressed=true]{background:var(--color-surface-strong)}.dev-swatches{gap:var(--space-4) var(--space-3);grid-template-columns:repeat(6,160px);display:grid}.dev-swatch{border:var(--border);border-radius:var(--radius-sm);height:40px}.dev-type-row{grid-template-columns:220px 1fr;align-items:baseline;display:grid}.dev-row{gap:var(--space-16)!important;flex-direction:row!important}.dev-space{align-items:center;gap:var(--space-3);display:flex}.dev-space span{background:var(--color-ink);height:8px}.dev-radii{gap:var(--space-4);display:flex}.dev-radius{width:56px;height:56px;margin-bottom:var(--space-2);border:var(--border);background:var(--color-surface)}.dev-inline{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dev-inputs>*{width:320px}.dev-cards>*{width:260px}.dev-col{gap:var(--space-3);flex-direction:column;display:flex}.dev-w240{width:240px}.dev-w320{width:320px}.dev-w480{width:480px}.dev-grid2{grid-template-columns:repeat(2,480px);gap:var(--space-4)!important;display:grid!important}.progress{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.progress__head{justify-content:space-between;display:flex}.progress__track{border-radius:var(--radius-sm);background:var(--color-surface);height:8px;overflow:hidden}.progress__bar{border-radius:var(--radius-sm);background:var(--color-ink);height:100%;transition:width .2s}
