/* [project]/web/components/account/appearance-preferences.css [app-client] (css) */
:root[data-appearance-theme="light"] .asm-root {
  --asm-line: var(--cicd-border-l1);
  --asm-line-strong: var(--cicd-border-l2);
  --asm-panel: var(--cicd-surface-elevated);
  --asm-muted: var(--cicd-fg-secondary);
  --asm-faint: var(--cicd-fg-tertiary);
  --asm-fg: var(--cicd-fg-primary);
  --asm-strong: var(--cicd-fg-primary);
  --asm-hover: var(--cicd-button-ghost-hover);
  --asm-active: var(--cicd-button-ghost-active);
  --asm-danger: var(--cicd-fg-danger);
  color-scheme: var(--cicd-scheme);
}

:root[data-appearance-theme="light"] .gs-shell {
  --gs-canvas: var(--cicd-surface-base);
  --gs-bg: var(--cicd-surface-inset);
  --gs-bg-solid: var(--cicd-surface-inset);
  --gs-glass: var(--cicd-surface-l1);
  --gs-line: var(--cicd-border-l1);
  --gs-line-strong: var(--cicd-border-l2);
  --gs-fg: var(--cicd-fg-primary);
  --gs-strong: var(--cicd-fg-primary);
  --gs-secondary: var(--cicd-fg-secondary);
  --gs-muted: var(--cicd-fg-secondary);
  --gs-faint: var(--cicd-fg-tertiary);
  --gs-hover: var(--cicd-button-ghost-hover);
  --gs-active-bg: var(--cicd-button-ghost-active);
  --gs-active-fg: var(--cicd-fg-primary);
  --gs-focus: var(--cicd-ring);
}

:root[data-appearance-theme="light"] .ci-console {
  --c-canvas: var(--cicd-surface-base);
  --c-surface: var(--cicd-surface-l1);
  --c-border: var(--cicd-border-l2);
  --c-border-muted: var(--cicd-border-l1);
  --c-fg: var(--cicd-fg-primary);
  --c-fg-2: var(--cicd-fg-secondary);
  --c-muted: var(--cicd-fg-secondary);
  --c-hover: var(--cicd-button-ghost-hover);
}

:root[data-appearance-theme="light"] .p-public-sidebar {
  --ui-bg: var(--cicd-surface-base);
  --ui-bg-subtle: var(--cicd-surface-inset);
  --ui-surface: var(--cicd-surface-l1);
  --ui-surface-card: var(--cicd-surface-l2);
  --ui-surface-subtle: var(--cicd-surface-l2);
  --ui-fg: var(--cicd-fg-primary);
  --ui-fg-subtle: var(--cicd-fg-secondary);
  --ui-fg-subtlest: var(--cicd-fg-tertiary);
  --ui-fg-inverse: var(--cicd-fg-invert);
  --ui-brand-bold: var(--cicd-button-filled);
  --ui-brand-hover: var(--cicd-button-filled-hover);
  --ui-brand: var(--cicd-button-secondary-fill);
  --ui-border: var(--cicd-border-l2);
  --ui-border-subtle: var(--cicd-border-l1);
}

:root[data-code-wrap="on"] :is(.ci-log-text, pre code) {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

:root[data-code-wrap="off"] :is(.ci-log-text, pre code) {
  white-space: pre;
  overflow-wrap: normal;
}

:root[data-code-wrap="off"] .ci-step-body {
  overflow-x: auto;
}

/* [project]/web/components/layout/feedback-dialog.css [app-client] (css) */
.p-guest-dialog {
  box-sizing: border-box;
  border: 1px solid var(--ui-border-subtle);
  max-width: calc(100vw - 32px);
  max-height: 90dvh;
  color: var(--ui-fg);
  background: var(--ui-bg);
  font-family: var(--cicd-font, var(--g-font));
  color-scheme: normal;
  outline: none;
  margin: auto;
  padding: 0;
  font-size: 14px;
  line-height: 20px;
  position: fixed;
  inset: 0;
  overflow: auto;
}

.p-guest-dialog::backdrop {
  background: var(--cicd-overlay);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.p-guest-dialog button, .p-guest-dialog input, .p-guest-dialog textarea {
  font: inherit;
}

.p-guest-dialog button {
  cursor: pointer;
}

.p-guest-dialog svg {
  flex-shrink: 0;
}

.p-guest-sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.p-guest-muted {
  color: var(--ui-fg-subtlest);
  font-weight: 400;
}

.p-guest-feedback-dialog {
  background: var(--ui-surface-subtle);
  border-radius: 24px;
  width: 560px;
  padding: 16px;
}

.p-guest-feedback-dialog[open] {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.p-guest-feedback-fields {
  border: 0;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  margin: 0;
  padding: 0;
  display: flex;
}

.p-guest-dialog-heading {
  justify-content: space-between;
  align-items: flex-start;
  min-height: 32px;
  display: flex;
}

.p-guest-dialog-heading h2 {
  letter-spacing: -.4px;
  margin: 0;
  padding: 0 2px;
  font-size: 18px;
  font-weight: 600;
  line-height: 23px;
}

.p-guest-close {
  width: 40px;
  height: 40px;
  min-height: 0;
  color: var(--ui-fg-subtlest);
  background: none;
  border: 0;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  margin: -4px;
  padding: 8px;
  display: flex;
}

.p-guest-close:hover {
  background: var(--ui-brand);
}

.p-guest-reason {
  position: relative;
}

.p-guest-reason > label, .p-guest-attachments > label {
  margin-bottom: 8px;
  font-weight: 600;
  display: block;
}

.p-guest-reason-trigger {
  border: 1px solid var(--ui-border);
  width: 100%;
  height: 40px;
  color: var(--ui-fg);
  text-align: left;
  background: none;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  display: flex;
}

.p-guest-reason-trigger > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.p-guest-reason-trigger > svg {
  color: var(--ui-fg-subtlest);
}

.p-guest-reason-menu {
  z-index: 1;
  box-sizing: border-box;
  border: 1px solid var(--ui-border);
  background: var(--ui-surface-subtle);
  border-radius: 16px;
  width: 100%;
  max-height: 340px;
  padding: 6px;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  overflow-y: auto;
  box-shadow: 0 8px 24px #0003;
}

.p-guest-reason-group {
  color: var(--ui-fg-subtlest);
  margin: 4px 8px;
  font-size: 12px;
  font-weight: 600;
}

.p-guest-reason-menu button {
  width: 100%;
  min-height: 32px;
  color: var(--ui-fg);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  display: flex;
}

.p-guest-reason-menu button:hover, .p-guest-reason-menu button:focus-visible {
  background: var(--ui-brand);
}

#p-guest-feedback-message {
  box-sizing: border-box;
  resize: vertical;
  border: 1px solid var(--ui-border);
  width: 100%;
  height: 204px;
  min-height: 100px;
  color: var(--ui-fg);
  background: none;
  border-radius: 16px;
  outline: none;
  flex-shrink: 0;
  padding: 16px;
  display: block;
}

.p-guest-dialog #p-guest-feedback-message::placeholder {
  color: var(--ui-fg-subtlest);
}

.p-guest-dialog #p-guest-feedback-message:focus {
  border-color: var(--cicd-accent-border);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--cicd-fg-primary) 100%, transparent);
}

.p-guest-upload {
  border: 1px dashed var(--ui-border-subtle);
  width: 100%;
  min-height: 98px;
  color: var(--ui-fg);
  background: none;
  border-radius: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 16px;
  display: flex;
}

.p-guest-upload > svg {
  color: var(--ui-fg-subtlest);
  margin: 8px;
}

.p-guest-upload:hover {
  background: var(--ui-brand-subtle);
  border-color: var(--ui-border);
}

.p-guest-file-list {
  flex-direction: column;
  gap: 4px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.p-guest-file-list li {
  background: var(--ui-brand);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  display: flex;
}

.p-guest-file-list li > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.p-guest-file-list button {
  width: 28px;
  height: 28px;
  min-height: 0;
  color: var(--ui-fg-subtlest);
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
}

.p-guest-file-error {
  color: var(--ui-danger);
  margin: 8px 0 0;
  font-size: 12px;
}

.p-guest-feedback-footer {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  display: flex;
}

.p-guest-feedback-footer > span {
  font-size: 12px;
}

.p-guest-send {
  background: var(--ui-brand-bold);
  height: 32px;
  min-height: 32px;
  color: var(--ui-fg-inverse);
  border: 0;
  border-radius: 999px;
  margin-left: auto;
  padding: 4px 16px;
  font-weight: 600 !important;
}

.p-guest-send:disabled {
  opacity: .5;
  cursor: default;
}

.p-guest-feedback-success {
  text-align: center;
  padding: 24px 0;
}

.p-guest-feedback-success > svg {
  color: var(--ui-success);
}

.p-guest-dialog button:focus-visible {
  outline: 2px solid var(--cicd-accent-border);
  outline-offset: -2px;
}

/* [project]/web/components/layout/global-sidebar.css [app-client] (css) */
.gs-shell {
  --gs-font: var(--g-font);
  --gs-mono: var(--xc-mono);
  --gs-width: 248px;
  --gs-rail: 56px;
  --gs-topbar: 0px;
  --gs-gutter: 16px;
  --gs-motion: .14s;
  --gs-ease: cubic-bezier(.2, .9, .2, 1);
  --gs-snap: var(--xc-motion-snap);
  --gs-canvas: var(--cicd-surface-base);
  --gs-bg: var(--cicd-surface-l1);
  --gs-bg-solid: var(--cicd-surface-l1);
  --gs-glass: var(--cicd-surface-l1);
  --gs-line: var(--cicd-border-l1);
  --gs-line-strong: var(--cicd-border-l2);
  --gs-fg: var(--cicd-fg-primary);
  --gs-muted: var(--cicd-fg-secondary);
  --gs-faint: var(--cicd-fg-tertiary);
  --gs-strong: var(--cicd-fg-primary);
  --gs-secondary: var(--cicd-fg-secondary);
  --gs-hover: var(--cicd-button-ghost-hover);
  --gs-active-bg: var(--cicd-button-ghost-active);
  --gs-active-fg: var(--cicd-fg-primary);
  --gs-accent: var(--xc-accent);
  --gs-accent-hover: var(--cicd-button-filled-hover);
  --gs-gold: var(--cicd-wd-accent);
  --gs-gold-hover: var(--cicd-wd-accent-hover);
  --gs-gold-soft: var(--cicd-accent-soft);
  --gs-danger: var(--cicd-fg-danger);
  --gs-focus: var(--cicd-ring);
  --gs-backdrop: var(--cicd-overlay);
  --gs-shadow: var(--xc-shadow-hard);
  --gs-radius: 0;
  --gs-radius-sm: 0;
  --gs-popover-radius: var(--ui-radius-lg);
  --gs-popover-shadow: var(--xc-shadow-hard-lg);
  --gs-edge-lo: var(--xc-edge-lo);
  --gs-edge-mid: var(--xc-edge-mid);
  --gs-edge-hi: var(--xc-edge-hi);
  --gs-notch: 3px;
  --xc-chamfer-sm: 6px;
  --gs-clip-row: polygon(0 0, calc(100% - var(--xc-chamfer-sm)) 0,
    100% var(--xc-chamfer-sm), 100% calc(100% - var(--xc-chamfer-sm)),
    calc(100% - var(--xc-chamfer-sm)) 100%, 0 100%);
  grid-template-columns: var(--gs-width) minmax(0, 1fr);
  background: var(--gs-canvas);
  min-height: 100dvh;
  color: var(--gs-fg);
  font-family: var(--gs-font);
  transition: grid-template-columns var(--gs-motion) var(--gs-ease);
  display: grid;
}

html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed {
  grid-template-columns: var(--gs-width) minmax(0, 1fr);
}

.gs-shell:not(.gs-collapse-settled) {
  transition: none;
}

.gs-shell.is-collapsed {
  grid-template-columns: var(--gs-rail) minmax(0, 1fr);
}

.gs-shell.is-sidebarless {
  display: block;
}

.gs-shell a {
  text-decoration: none;
}

.gs-skip {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  pointer-events: none;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.gs-skip:focus {
  z-index: 120;
  clip: auto;
  clip-path: none;
  white-space: normal;
  pointer-events: auto;
  border-radius: var(--gs-radius-sm);
  background: var(--gs-bg-solid);
  width: auto;
  height: auto;
  color: var(--gs-strong);
  border: 1px solid var(--gs-line-strong);
  box-shadow: var(--gs-shadow);
  outline: 2px solid var(--gs-focus);
  outline-offset: 2px;
  margin: 0;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 600;
  position: fixed;
  top: 12px;
  left: 16px;
  overflow: visible;
}

.gs-sidebar {
  z-index: 40;
  border-right: 1px solid var(--gs-edge-lo);
  min-width: 0;
  height: 100dvh;
  box-shadow: inset -1px 0 0 var(--gs-edge-mid);
  background: var(--gs-bg);
  opacity: 1;
  transition: width var(--gs-motion) var(--gs-ease), transform var(--gs-motion) var(--gs-ease), opacity var(--gs-motion) var(--gs-ease);
  flex-direction: column;
  display: flex;
  position: sticky;
  top: 0;
  overflow: visible;
  transform: translateX(0);
}

.gs-sidebar:before {
  content: none;
}

.gs-sidebar > * {
  z-index: 1;
  position: relative;
}

.gs-sidebar-top {
  background: var(--cicd-surface-l3);
  border-bottom: var(--xc-seam) solid var(--gs-edge-lo);
  box-shadow: inset 0 -1px 0 var(--gs-edge-mid);
  flex-direction: column;
  flex-shrink: 0;
  align-items: stretch;
  gap: 4px;
  padding: 12px 8px;
  display: flex;
  overflow: hidden;
}

.gs-sidebar-top:before, .gs-sidebar-top:after {
  content: "";
  width: var(--xc-bolt-size);
  height: var(--xc-bolt-size);
  background: var(--xc-bolt);
  box-shadow: inset 0 1px 0 var(--gs-edge-hi), inset 0 -1px 0 var(--gs-edge-lo), 0 0 0 1px var(--gs-edge-lo);
  pointer-events: none;
  position: absolute;
  bottom: 4px;
}

.gs-sidebar-top:before {
  left: 5px;
}

.gs-sidebar-top:after {
  right: 5px;
}

.gs-sidebar-top-main {
  justify-content: space-between;
  align-items: center;
  gap: 0;
  min-height: 40px;
  display: flex;
}

.gs-brand {
  width: auto;
  height: 32px;
  color: var(--gs-strong);
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin-inline: 4px;
  padding: 0;
  display: inline-flex;
}

.gs-brand .xc-wordmark {
  font-size: 21px;
}

.gs-brand:hover {
  color: var(--gs-accent-hover);
}

.gs-brand.p-logo, .gs-brand.p-logo .p-logo-word {
  color: var(--gs-strong);
}

.gs-brand-mark {
  width: 28px;
  height: 28px;
  color: var(--gs-strong);
  box-shadow: none;
  background: none;
  border-radius: 0;
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.gs-brand-mark > svg, .gs-brand-mark > img, .gs-brand-mark > span {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.gs-sidebar-brand-spacer {
  flex-shrink: 0;
  width: 40px;
  height: 32px;
}

.gs-brand-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.gs-sidebar-tools {
  flex-shrink: 0;
  align-items: center;
  gap: 0;
  margin-left: auto;
  display: flex;
}

.gs-sidebar-search {
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  color: var(--gs-secondary);
  background: none;
  padding: 0;
}

.gs-sidebar-search:hover {
  background: var(--gs-hover);
  color: var(--gs-strong);
}

.gs-sidebar-search:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: 2px;
}

.gs-sidebar-search-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.gs-icon-btn {
  border-radius: var(--gs-radius-sm);
  width: 34px;
  min-width: 44px;
  height: 34px;
  min-height: 44px;
  color: var(--gs-secondary);
  cursor: pointer;
  clip-path: var(--xc-clip-btn);
  transition: background-color var(--gs-snap), color var(--gs-snap), transform var(--gs-snap);
  background: none;
  border: 0;
  place-items: center;
  padding: 0;
  display: grid;
}

.gs-icon-btn:hover {
  background: var(--gs-hover);
  color: var(--gs-strong);
}

.gs-icon-btn:active {
  box-shadow: var(--xc-shadow-press);
  transform: translateY(1px);
}

.gs-icon-btn:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-icon-btn[aria-expanded="true"] {
  background: var(--gs-hover);
  color: var(--gs-strong);
}

.gs-sidebar-tools .gs-icon-btn {
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
}

.gs-sidebar-collapse[aria-expanded="true"]:not(:hover) {
  color: var(--gs-secondary);
  background: none;
}

.gs-sidebar-header-slot {
  flex-shrink: 0;
  padding: 10px 12px 0;
}

.gs-sidebar-scroll {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--cicd-border-l3) transparent;
  flex-direction: column;
  flex: auto;
  gap: 4px;
  min-height: 0;
  padding: 2px 10px 12px;
  display: flex;
  overflow: hidden auto;
}

.gs-nav-group {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.gs-nav-group + .gs-nav-group {
  border-top: var(--xc-seam) solid var(--gs-edge-lo);
  box-shadow: inset 0 1px 0 var(--gs-edge-mid);
  margin-top: 12px;
  padding-top: 12px;
}

.gs-nav-label {
  font: 500 11px/20px var(--gs-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gs-muted);
  padding: 4px 9px;
}

.gs-nav-list {
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.gs-nav-item {
  border-radius: var(--gs-radius);
  width: 100%;
  height: 36px;
  min-height: 36px;
  color: var(--gs-strong);
  font: inherit;
  text-align: left;
  cursor: pointer;
  clip-path: var(--gs-clip-row);
  transition: background-color var(--gs-snap), color var(--gs-snap), box-shadow var(--gs-snap);
  background: none;
  border: 0;
  align-items: center;
  gap: 4px;
  padding: 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  display: flex;
  position: relative;
}

a.gs-nav-item:hover, button.gs-nav-item:hover {
  background: var(--gs-hover);
  color: var(--gs-strong);
}

.gs-nav-item.is-active {
  background: var(--gs-active-bg);
  color: var(--gs-active-fg);
  box-shadow: inset var(--gs-notch) 0 0 var(--gs-accent), inset 0 1px 0 var(--gs-edge-mid);
  font-weight: 500;
}

.gs-nav-item:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-nav-item.is-disabled, .gs-nav-item:disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}

.gs-nav-icon {
  color: currentColor;
  flex-shrink: 0;
  place-items: center;
  width: 24px;
  height: 24px;
  display: grid;
}

.gs-nav-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.gs-nav-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  transition: opacity var(--gs-motion) var(--gs-ease);
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
}

.gs-nav-badge {
  color: var(--gs-muted);
  font: 500 11px/1.3 var(--gs-mono);
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
  background: none;
  border-radius: 0;
  flex-shrink: 0;
  margin-left: auto;
  padding: 0 2px;
}

.gs-nav-item.is-active .gs-nav-badge {
  color: var(--gs-active-fg);
  background: none;
}

.gs-nav-badge > .p-project-dot {
  display: none;
}

.gs-sidebar-bottom {
  border-top: var(--xc-seam) solid var(--gs-edge-lo);
  box-shadow: inset 0 1px 0 var(--gs-edge-mid);
  flex-direction: column;
  flex-shrink: 0;
  gap: 2px;
  margin-top: auto;
  padding: 10px 8px 8px;
  display: flex;
}

.gs-util-label {
  font: 500 11px/20px var(--gs-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gs-muted);
  padding: 4px 11px;
}

.gs-util-list {
  flex-direction: column;
  gap: 2px;
  margin: 0 2px;
  padding: 0;
  list-style: none;
  display: flex;
}

.gs-util-item {
  border-radius: var(--gs-radius);
  height: 36px;
  min-height: 36px;
  color: var(--gs-strong);
  clip-path: var(--gs-clip-row);
  transition: background-color var(--gs-snap), color var(--gs-snap);
  align-items: center;
  gap: 4px;
  padding: 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  display: flex;
}

.gs-util-item:hover {
  background: var(--gs-hover);
  color: var(--gs-strong);
}

.gs-util-item:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-util-out {
  opacity: .55;
  flex-shrink: 0;
  margin-left: auto;
}

.gs-sidebar-profile {
  border-top: 0;
  align-items: center;
  gap: 6px;
  margin-top: 0;
  padding-top: 2px;
  display: flex;
}

.gs-sidebar-footer-slot {
  padding-top: 8px;
}

@media (min-width: 901px) {
  .gs-shell.is-collapsed .gs-sidebar-top-main {
    justify-content: center;
  }

  .gs-shell.is-collapsed .gs-brand, .gs-shell.is-collapsed .gs-sidebar-brand-spacer, .gs-shell.is-collapsed .gs-sidebar-header-slot, .gs-shell.is-collapsed .gs-nav-label, .gs-shell.is-collapsed .gs-util-label, .gs-shell.is-collapsed .gs-nav-badge, .gs-shell.is-collapsed .gs-util-out, .gs-shell.is-collapsed .gs-profile-chevron {
    display: none;
  }

  .gs-shell.is-collapsed .gs-sidebar-tools {
    flex-direction: column-reverse;
    gap: 8px;
    margin-inline: auto;
  }

  .gs-shell.is-collapsed .gs-nav-item, .gs-shell.is-collapsed .gs-util-item, .gs-shell.is-collapsed .gs-profile-trigger {
    gap: 0;
  }

  .gs-shell.is-collapsed .gs-nav-text, .gs-shell.is-collapsed .gs-profile-text {
    opacity: 0;
    width: 0;
    overflow: hidden;
  }

  .gs-shell.is-collapsed .gs-nav-group + .gs-nav-group {
    margin-top: 8px;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-sidebar-top-main {
    justify-content: space-between;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed :is(.gs-sidebar-brand-spacer, .gs-sidebar-header-slot, .gs-nav-label, .gs-util-label) {
    display: block;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-nav-disclosure {
    display: flex;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed :is(.gs-nav-badge, .gs-util-out, .gs-profile-chevron) {
    display: inline;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-brand {
    display: inline-flex;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-sidebar-tools {
    margin-inline: 0;
    flex-direction: row;
    gap: 0;
    margin-left: auto;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed :is(.gs-nav-item, .gs-util-item, .gs-profile-trigger) {
    gap: 4px;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-profile-trigger {
    gap: 6px;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed :is(.gs-nav-text, .gs-profile-text) {
    opacity: 1;
    width: auto;
    overflow: hidden;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-nav-group + .gs-nav-group {
    margin-top: 12px;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-nav-heading {
    display: flex;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-workspace-expand {
    display: none;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-workspace-float {
    justify-content: flex-end;
    inset: 12px 16px auto;
  }
}

.gs-search-dialog {
  border: 1px solid var(--gs-edge-lo);
  border-radius: var(--gs-popover-radius);
  background: var(--cicd-surface-elevated);
  width: min(560px, 100vw - 32px);
  max-height: min(70vh, 480px);
  color: var(--gs-fg);
  box-shadow: inset 0 1px 0 var(--gs-edge-hi), var(--gs-popover-shadow);
  margin: auto;
  padding: 0;
  overflow: hidden;
}

.gs-search-dialog::backdrop {
  background: var(--cicd-overlay);
}

.gs-search-panel {
  flex-direction: column;
  max-height: min(70vh, 480px);
  display: flex;
}

.gs-search-field {
  border-bottom: 1px solid var(--gs-line);
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  display: flex;
}

.gs-search-field-icon {
  color: var(--gs-faint);
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.gs-search-input {
  min-width: 0;
  min-height: 44px;
  color: var(--gs-strong);
  font: inherit;
  background: none;
  border: 0;
  outline: none;
  flex: auto;
  font-size: 16px;
}

.gs-search-input::placeholder {
  color: var(--gs-faint);
}

.gs-search-close {
  flex-shrink: 0;
}

.gs-search-results {
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 8px;
  list-style: none;
  display: flex;
  overflow-y: auto;
}

.gs-search-empty {
  color: var(--gs-faint);
  text-align: center;
  padding: 16px 12px;
  font-size: 14px;
}

.gs-search-result {
  border-radius: var(--gs-radius);
  width: 100%;
  min-height: 44px;
  color: var(--gs-secondary);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--gs-snap), color var(--gs-snap);
  background: none;
  border: 0;
  align-items: center;
  gap: 12px;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
}

.gs-search-result:hover, .gs-search-result.is-active {
  background: var(--gs-hover);
  color: var(--gs-strong);
  box-shadow: inset var(--gs-notch) 0 0 var(--gs-accent);
}

.gs-search-result:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: 2px;
}

.gs-search-result-copy {
  flex-direction: column;
  flex: auto;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.gs-search-result-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.gs-search-result-meta {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gs-faint);
  font-size: 12px;
  overflow: hidden;
}

.gs-workspace {
  background: var(--gs-canvas);
  flex-direction: column;
  grid-column: 2;
  min-width: 0;
  min-height: 100dvh;
  display: flex;
  position: relative;
}

.gs-workspace-float {
  z-index: 30;
  pointer-events: none;
  background: none;
  border: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  min-height: 0;
  padding: 0;
  display: flex;
  position: absolute;
  inset: 12px 16px auto;
}

.gs-shell.is-collapsed .gs-workspace-float {
  justify-content: space-between;
  inset: 12px 12px auto;
}

.gs-workspace-float > * {
  pointer-events: auto;
}

.gs-workspace-lead {
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-right: auto;
  display: flex;
}

.gs-workspace-tools {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.gs-workspace-menu, .gs-workspace-expand {
  display: none;
}

.gs-main {
  outline: none;
  flex: auto;
  min-width: 0;
  min-height: 100dvh;
}

.gs-main:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-profile {
  flex: 1;
  min-width: 0;
  position: relative;
}

.gs-profile-trigger {
  border-radius: var(--gs-radius);
  width: 100%;
  min-width: 0;
  min-height: 40px;
  color: var(--gs-muted);
  font: inherit;
  text-align: left;
  cursor: pointer;
  clip-path: var(--gs-clip-row);
  transition: background-color var(--gs-snap), color var(--gs-snap);
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  padding: 6px;
  list-style: none;
  display: flex;
}

.gs-profile-trigger::-webkit-details-marker {
  display: none;
}

.gs-profile-trigger:hover, .gs-profile.is-open .gs-profile-trigger {
  background: var(--gs-hover);
  color: var(--gs-strong);
}

.gs-profile-trigger:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-profile-avatar {
  --xc-chamfer-sm: 5px;
  width: 28px;
  height: 28px;
  clip-path: var(--xc-clip-btn);
  background: var(--cicd-surface-l2);
  color: var(--gs-strong);
  box-shadow: inset 0 1px 0 var(--gs-edge-hi), inset 0 -1px 0 var(--gs-edge-lo);
  font: 600 12px/1 var(--xc-display);
  border-radius: 0;
  flex-shrink: 0;
  place-items: center;
  display: grid;
  overflow: hidden;
}

.gs-profile-avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gs-profile-text {
  min-width: 0;
  transition: opacity var(--gs-motion) var(--gs-ease);
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.gs-profile-text b {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gs-strong);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  overflow: hidden;
}

.gs-profile-text small {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gs-faint);
  font-size: 12px;
  overflow: hidden;
}

.gs-profile-chevron {
  color: var(--gs-faint);
  flex-shrink: 0;
  margin-left: auto;
}

.gs-popover {
  z-index: 50;
  border: 1px solid var(--gs-edge-lo);
  border-radius: var(--gs-popover-radius);
  background: var(--gs-bg-solid);
  min-width: 240px;
  box-shadow: inset 0 1px 0 var(--gs-edge-hi), var(--gs-popover-shadow);
  animation: gs-pop-in var(--gs-motion) var(--gs-ease) 1;
  padding: 8px;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  right: 0;
}

.gs-popover.is-right {
  left: auto;
  right: 0;
}

.gs-popover-item {
  width: 100%;
  min-height: 44px;
  color: var(--gs-muted);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--gs-snap), color var(--gs-snap);
  background: none;
  border: 0;
  border-radius: 0;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
}

.gs-popover-item:hover {
  background: var(--gs-hover);
  color: var(--gs-strong);
}

.gs-popover-item.is-danger {
  color: var(--gs-danger);
}

.gs-popover-item.is-danger:hover {
  background: var(--cicd-button-danger-fill);
  color: var(--cicd-fg-danger);
}

.gs-popover-sep {
  border-top: var(--xc-seam) solid var(--gs-edge-lo);
  border-bottom: var(--xc-seam) solid var(--gs-edge-mid);
  background: none;
  height: 0;
  margin: 4px 6px;
}

.gs-sidebar:has(.gs-profile.is-open) {
  z-index: 150;
}

.gs-profile-menu {
  z-index: 150;
  box-sizing: border-box;
  border: 1px solid var(--gs-edge-lo);
  border-radius: var(--gs-popover-radius);
  background: var(--cicd-popover);
  width: 224px;
  min-width: 0;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 72px);
  color: var(--gs-strong);
  box-shadow: inset 0 1px 0 var(--gs-edge-hi), var(--gs-popover-shadow);
  font-family: var(--gs-font);
  letter-spacing: -.154px;
  transform-origin: 0 100%;
  animation: gs-profile-menu-in var(--gs-motion) var(--gs-ease);
  outline: none;
  padding: 6px;
  bottom: calc(100% + 8px);
  left: 8px;
  right: auto;
  overflow: auto;
}

.gs-profile-menu > * + * {
  margin-top: 2px;
}

.gs-profile-menu-email {
  min-width: 0;
  color: var(--gs-secondary);
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 8px 8px 4px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  overflow: hidden;
}

.gs-profile-menu .gs-popover-item {
  min-height: 32px;
  color: var(--gs-strong);
  letter-spacing: inherit;
  border-radius: 0;
  outline: none;
  gap: 6px;
  padding: 3px 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
}

.gs-profile-menu .gs-popover-item > svg {
  width: 16px;
  height: 16px;
  color: var(--gs-secondary);
  flex: 0 0 16px;
  margin-right: 8px;
}

.gs-profile-menu .gs-popover-item:hover, .gs-profile-menu .gs-popover-item:focus-visible, .gs-profile-menu .gs-help-trigger[aria-expanded="true"] {
  background: var(--gs-hover);
  color: var(--gs-strong);
  box-shadow: inset var(--gs-notch) 0 0 var(--gs-accent);
}

.gs-menu-trailing {
  color: var(--gs-faint);
  flex-shrink: 0;
  margin-left: auto;
  display: inline-flex;
}

.gs-help-menu {
  transform-origin: 0 0;
  bottom: auto;
}

@keyframes gs-profile-menu-in {
  from {
    opacity: 0;
    translate: 0 2px;
  }

  to {
    opacity: 1;
    translate: 0;
  }
}

.gs-backdrop {
  z-index: 70;
  background: var(--gs-backdrop);
  cursor: pointer;
  animation: gs-backdrop-in var(--gs-motion) var(--gs-ease) 1;
  border: 0;
  padding: 0;
  position: fixed;
  inset: 0;
}

.gs-shell.is-mobile-open .gs-sidebar {
  z-index: 80;
  width: min(var(--gs-width), calc(100vw - 48px));
  max-width: 320px;
  box-shadow: var(--gs-shadow);
  animation: gs-drawer-in var(--gs-motion) var(--gs-ease) 1;
  position: fixed;
  inset: 0 auto 0 0;
}

@media (max-width: 900px) {
  .gs-shell {
    display: block;
  }

  .gs-shell .gs-sidebar {
    z-index: 80;
    width: min(var(--gs-width), calc(100vw - 48px));
    pointer-events: none;
    max-width: 320px;
    box-shadow: var(--gs-shadow);
    position: fixed;
    inset: 0 auto 0 0;
    transform: translateX(-105%);
  }

  .gs-shell.is-mobile-open .gs-sidebar {
    pointer-events: auto;
    transform: translateX(0);
  }

  @media (prefers-reduced-motion: reduce) {
    .gs-shell.is-mobile-open .gs-sidebar {
      transform: none;
    }
  }

  .gs-workspace-float {
    background: var(--gs-bg);
    border-bottom: var(--xc-seam) solid var(--gs-edge-lo);
    min-height: 48px;
    box-shadow: inset 0 -1px 0 var(--gs-edge-mid), inset 0 1px 0 var(--gs-edge-hi);
    pointer-events: auto;
    justify-content: space-between;
    padding: 4px 8px;
    inset: 0 0 auto;
  }

  .gs-workspace-menu {
    display: inline-grid;
  }

  .gs-sidebar-collapse {
    display: none;
  }
}

@media (min-width: 901px) {
  .gs-sidebar-mobile-close, .gs-backdrop {
    display: none;
  }

  .gs-shell.is-collapsed .gs-workspace-expand {
    display: inline-grid;
  }
}

@keyframes gs-drawer-in {
  from {
    transform: translateX(-105%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes gs-backdrop-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes gs-pop-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-shell, .gs-sidebar, .gs-backdrop, .gs-popover, .gs-nav-item, .gs-icon-btn, .gs-util-item, .gs-search-dialog, .gs-search-result, .gs-sidebar-search, .gs-nav-text, .gs-profile-text {
    transition: none !important;
    animation: none !important;
  }

  .gs-icon-btn:active {
    transform: none;
  }
}

.gs-shell:not(.gs-collapse-settled) :is(.gs-nav-text, .gs-profile-text, .gs-sidebar) {
  transition: none;
}

.gs-shell, .gs-workspace {
  background: var(--cicd-surface-base);
}

.gs-nav-heading {
  justify-content: space-between;
  align-items: center;
  gap: 4px;
  display: flex;
}

.gs-nav-heading .gs-nav-label {
  flex: 1;
  min-width: 0;
}

.gs-nav-disclosure {
  text-align: start;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 0;
  align-items: center;
  gap: 5px;
  display: flex;
}

.gs-nav-disclosure svg {
  transition: transform var(--gs-motion) var(--gs-ease);
}

.gs-nav-disclosure:hover {
  color: var(--gs-strong);
}

.gs-nav-disclosure:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-nav-group-action {
  align-items: center;
  display: flex;
}

.gs-nav-list[hidden] {
  display: none;
}

@media (min-width: 768px) {
  .gs-shell.is-collapsed .gs-nav-heading {
    display: none;
  }
}

.gs-search-dialog .gs-search-input:is(:focus, :focus-visible) {
  box-shadow: none;
  border: 0;
  outline: none;
}

/* [project]/web/components/action-toast.css [app-client] (css) */
.action-toast-stack {
  z-index: 200;
  pointer-events: none;
  width: 356px;
  max-width: calc(100vw - 32px);
  font-family: var(--g-font, sans-serif);
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  position: fixed;
  bottom: 24px;
  right: 24px;
}

.action-toast {
  box-sizing: border-box;
  border: 1px solid var(--cicd-border-l2);
  min-height: 56px;
  color: var(--cicd-fg-primary);
  background: var(--cicd-surface-l2);
  pointer-events: auto;
  border-radius: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 10px 12px;
  animation: .18s cubic-bezier(.23, 1, .32, 1) both project-toast-enter;
  display: grid;
  box-shadow: 0 12px 32px #00000040;
}

.action-toast-title {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.375;
}

.action-toast-button {
  font: 500 12px/16px var(--g-font, sans-serif);
  background: var(--cicd-button-filled);
  color: var(--cicd-fg-invert);
  cursor: pointer;
  border: 0;
  border-radius: 6px;
  flex-shrink: 0;
  margin-left: 32px;
  padding: 4px 10px;
}

.action-toast-button:hover {
  background: var(--cicd-button-ghost-hover);
}

.action-toast-button:disabled {
  opacity: .5;
  cursor: default;
}

.action-toast-button:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: 3px;
}

.action-toast.is-leaving {
  pointer-events: none;
  animation: .2s cubic-bezier(.23, 1, .32, 1) both project-toast-leave;
}

@keyframes project-toast-enter {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes project-toast-leave {
  to {
    opacity: 0;
    transform: translateX(calc(100% + 32px));
  }
}

@media (max-width: 600px) {
  .action-toast-stack {
    bottom: 16px;
    right: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .action-toast, .action-toast.is-leaving {
    animation-duration: 1ms;
  }
}

/* [project]/web/components/ci/projects/project-sidebar.css [app-client] (css) */
.gs-project-group {
  padding-block: 2px;
}

.gs-project-group .gs-nav-heading {
  padding: 12px 8px 4px 9px;
}

.gs-project-group .gs-nav-label {
  font: 500 11px/20px var(--gs-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gs-muted);
  padding: 0;
}

.gs-project-group .gs-nav-disclosure {
  gap: 4px;
}

.gs-project-group .gs-nav-disclosure svg {
  opacity: 0;
  transition: opacity var(--gs-snap), transform var(--gs-motion) var(--gs-ease);
}

.gs-project-group:hover .gs-nav-disclosure svg, .gs-project-group .gs-nav-disclosure:focus-visible svg {
  opacity: 1;
}

.gs-project-heading-actions {
  opacity: 0;
  transition: opacity var(--gs-snap);
  gap: 2px;
  display: flex;
}

.gs-sidebar:hover .gs-project-heading-actions, .gs-project-heading-actions:focus-within {
  opacity: 1;
}

.gs-project-group .gs-nav-list {
  gap: 1px;
}

.gs-project-folder {
  min-width: 0;
  margin-block: 3px;
}

.gs-project-folder-heading {
  align-items: center;
  gap: 4px;
  padding-right: 8px;
  display: flex;
}

.gs-project-folder-toggle {
  min-width: 0;
  color: var(--gs-strong);
  text-align: left;
  font: 500 14px/20px var(--gs-font);
  cursor: pointer;
  clip-path: var(--gs-clip-row);
  transition: background-color var(--gs-snap);
  background: none;
  border: 0;
  border-radius: 0;
  flex: 1;
  align-items: center;
  gap: 7px;
  padding: 8px 5px;
  display: flex;
}

.gs-project-folder-toggle:hover {
  background: var(--gs-hover);
}

.gs-project-folder-toggle:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-project-folder-toggle svg {
  color: var(--gs-muted);
  flex-shrink: 0;
}

.gs-project-folder-toggle > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.gs-project-folder-toggle > small {
  color: var(--gs-muted);
  font: 500 11px/1 var(--gs-mono);
  letter-spacing: .08em;
}

.gs-project-folder-list {
  border-left: var(--xc-seam) solid var(--gs-edge-lo);
  box-shadow: inset 1px 0 0 var(--gs-edge-mid);
  margin: 2px 0 6px 17px;
  padding: 0 0 0 8px;
  list-style: none;
}

.gs-project-folder-list[hidden] {
  display: none;
}

.gs-project-folder-empty {
  color: var(--gs-muted);
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.gs-project-group .gs-nav-item.is-text-only {
  padding: 6px 12px;
}

.gs-project-row {
  width: 100%;
  min-width: 0;
  height: 36px;
  color: var(--gs-strong);
  clip-path: var(--gs-clip-row);
  transition: background-color var(--gs-snap), box-shadow var(--gs-snap);
  border-radius: 0;
  position: relative;
}

.gs-project-row:hover, .gs-project-row:focus-within, .gs-project-row[data-menu-open="true"] {
  background: var(--gs-hover);
}

.gs-project-row.is-active {
  background: var(--gs-active-bg);
  box-shadow: inset var(--gs-notch) 0 0 var(--gs-accent), inset 0 1px 0 var(--gs-edge-mid);
}

.gs-project-link {
  box-sizing: border-box;
  width: 100%;
  height: 36px;
  color: inherit;
  font: 400 14px/20px var(--gs-font);
  border-radius: 0;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  text-decoration: none;
  display: flex;
}

.gs-project-row.is-active .gs-project-link {
  font-weight: 500;
}

.gs-project-pin {
  width: 16px;
  height: 16px;
  color: var(--gs-muted);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.gs-project-name {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.gs-project-row-actions {
  visibility: hidden;
  opacity: 0;
  gap: 2px;
  display: flex;
  position: absolute;
  top: 8px;
  right: 8px;
}

.gs-project-row:hover .gs-project-row-actions, .gs-project-row:focus-within .gs-project-row-actions, .gs-project-row[data-menu-open="true"] .gs-project-row-actions {
  visibility: visible;
  opacity: 1;
}

.gs-project-row:hover .gs-project-link, .gs-project-row:focus-within .gs-project-link, .gs-project-row[data-menu-open="true"] .gs-project-link {
  padding-right: 58px;
}

.gs-project-row:hover .gs-project-name, .gs-project-row:focus-within .gs-project-name, .gs-project-row[data-menu-open="true"] .gs-project-name {
  text-overflow: clip;
  -webkit-mask-image: linear-gradient(to right, #000 80%, 90%, #0000 100%);
  mask-image: linear-gradient(to right, #000 80%, 90%, #0000 100%);
}

.gs-project-action {
  width: 20px;
  min-width: 20px;
  height: 20px;
  color: var(--gs-muted);
  cursor: pointer;
  transition: background-color var(--gs-snap), color var(--gs-snap);
  background: none;
  border: 0;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.gs-project-action:hover, .gs-project-action[aria-expanded="true"] {
  color: var(--gs-strong);
  background: var(--gs-hover);
}

.gs-project-action:focus-visible, .gs-project-link:focus-visible {
  outline: 2px solid var(--gs-focus);
  outline-offset: -2px;
}

.gs-project-menu {
  z-index: 150;
  box-sizing: border-box;
  border: 1px solid var(--xc-edge-lo);
  border-radius: var(--ui-radius-lg);
  width: 240px;
  max-width: calc(100vw - 16px);
  max-height: calc(100dvh - 16px);
  color: var(--cicd-fg-primary);
  background: var(--cicd-popover);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), var(--xc-shadow-hard-lg);
  font: 400 14px/20px var(--g-font, sans-serif);
  letter-spacing: -.154px;
  animation: gs-project-menu-in var(--xc-motion-slow);
  outline: none;
  padding: 6px;
  position: fixed;
  overflow-y: auto;
}

.gs-project-menu > a, .gs-project-menu > button {
  box-sizing: border-box;
  width: 100%;
  min-height: 32px;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
  transition: background-color var(--xc-motion-snap), box-shadow var(--xc-motion-snap);
  background: none;
  border: 0;
  border-radius: 0;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  text-decoration: none;
  display: flex;
}

.gs-project-menu > a:hover, .gs-project-menu > button:hover, .gs-project-menu > a:focus, .gs-project-menu > button:focus {
  background: var(--cicd-button-ghost-hover);
  box-shadow: inset 3px 0 0 var(--xc-accent);
  outline: none;
}

.gs-project-menu svg {
  color: var(--cicd-fg-secondary);
  flex-shrink: 0;
}

.gs-project-menu .is-danger, .gs-project-menu .is-danger svg {
  color: var(--cicd-fg-danger);
}

.gs-project-menu > button:disabled {
  opacity: .4;
  box-shadow: none;
  cursor: not-allowed;
  background: none;
}

.gs-project-menu-separator {
  border-top: var(--xc-seam) solid var(--xc-edge-lo);
  border-bottom: var(--xc-seam) solid var(--xc-edge-mid);
  background: none;
  height: 0;
  margin: 6px;
}

.gs-project-rename {
  border: 1px solid var(--xc-edge-lo);
  width: min(400px, 100vw - 32px);
  clip-path: var(--xc-clip-plate);
  background: var(--cicd-surface-l2);
  color: var(--cicd-fg-primary);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 1px 0 0 var(--xc-edge-mid);
  font: 400 14px/20px var(--g-font, sans-serif);
  border-radius: 0;
  margin: auto;
  padding: 24px;
}

.gs-project-rename::backdrop {
  background: var(--cicd-overlay);
}

.gs-project-rename h2 {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 600;
}

.gs-project-rename label {
  margin-bottom: 8px;
  display: block;
}

.gs-project-rename input {
  box-sizing: border-box;
  background: var(--cicd-input-background);
  width: 100%;
  color: inherit;
  font: inherit;
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 1px 0 0 var(--xc-edge-mid), inset -1px 0 0 var(--xc-edge-lo), inset 0 -1px 0 var(--xc-edge-lo);
  border: 0;
  border-radius: 0;
  padding: 10px 12px;
}

.gs-project-rename input:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: 2px;
}

.gs-project-rename form > div {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
  display: flex;
}

.gs-project-rename button {
  clip-path: var(--xc-clip-btn);
  background: var(--cicd-surface-l2-active);
  color: var(--cicd-fg-primary);
  font: inherit;
  cursor: pointer;
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 0 -2px 0 var(--xc-edge-lo);
  transition: transform var(--xc-motion-snap), box-shadow var(--xc-motion-snap);
  border: 0;
  border-radius: 0;
  padding: 8px 16px;
  font-weight: 600;
}

.gs-project-rename button[type="submit"] {
  color: var(--xc-on-accent);
  background: var(--xc-accent);
}

.gs-project-rename button:active {
  box-shadow: var(--xc-shadow-press);
  transform: translateY(1px);
}

.gs-project-rename button:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: 2px;
}

.gs-project-rename [role="alert"] {
  color: var(--cicd-fg-danger);
}

@keyframes gs-project-menu-in {
  from {
    opacity: 0;
    translate: 0 2px;
  }

  to {
    opacity: 1;
    translate: 0;
  }
}

@media (max-width: 900px), (hover: none) {
  .gs-project-row-actions {
    visibility: visible;
    opacity: 1;
  }

  .gs-project-link {
    padding-right: 58px;
  }

  .gs-project-heading-actions, .gs-project-group .gs-nav-disclosure svg {
    opacity: 1;
  }
}

@media (min-width: 901px) {
  .gs-shell.is-collapsed .gs-project-group {
    display: none;
  }

  html[data-gs-sidebar="expanded"] .gs-shell.is-collapsed .gs-project-group {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-project-menu {
    animation: none;
  }

  .gs-project-row, .gs-project-action, .gs-project-folder-toggle {
    transition: none;
  }
}

/* [project]/web/components/ci/projects/connected-process.module.css [app-client] (css) */
.connected-process-module__GZcwMa__flow {
  text-align: left;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.connected-process-module__GZcwMa__item {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: 0 0 18px;
  display: grid;
  position: relative;
}

.connected-process-module__GZcwMa__item:last-child {
  padding-bottom: 0;
}

.connected-process-module__GZcwMa__item:not(:last-child):before {
  content: "";
  background: var(--cicd-border-l2);
  width: 1px;
  position: absolute;
  top: 30px;
  bottom: 4px;
  left: 13.5px;
}

.connected-process-module__GZcwMa__dot {
  border: 1px solid var(--cicd-border-l3);
  width: 28px;
  height: 28px;
  color: var(--cicd-fg-primary);
  background: var(--cicd-surface-l1);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.connected-process-module__GZcwMa__item[data-state="done"] .connected-process-module__GZcwMa__dot {
  background: var(--cicd-success-soft);
  color: var(--cicd-fg-success);
  border-color: var(--cicd-success-border);
}

.connected-process-module__GZcwMa__body {
  gap: 6px;
  min-width: 0;
  padding-top: 3px;
  display: grid;
}

.connected-process-module__GZcwMa__body h4 {
  color: var(--cicd-fg-primary);
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.connected-process-module__GZcwMa__body p {
  color: var(--cicd-fg-secondary);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.connected-process-module__GZcwMa__line {
  border: 1px solid var(--cicd-border-l2);
  background: var(--cicd-surface-inset);
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-width: 0;
  max-width: 100%;
  padding: 6px 6px 6px 12px;
  display: flex;
}

.connected-process-module__GZcwMa__flow .connected-process-module__GZcwMa__line code {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.connected-process-module__GZcwMa__line code {
  font-family: var(--g-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  color: var(--cicd-fg-primary);
  white-space: nowrap;
  text-overflow: ellipsis;
  background: none;
  min-width: 0;
  padding: 0;
  font-size: 13px;
  overflow: hidden;
}

.connected-process-module__GZcwMa__copy {
  border: 1px solid var(--cicd-border-l2);
  color: var(--cicd-fg-primary);
  font: inherit;
  cursor: pointer;
  background: none;
  border-radius: 6px;
  flex: none;
  padding: 3px 10px;
  font-size: 12px;
}

.connected-process-module__GZcwMa__copy:hover {
  background: var(--cicd-button-ghost-hover);
}

.connected-process-module__GZcwMa__link {
  text-underline-offset: 3px;
  width: fit-content;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--cicd-border-l3);
  text-decoration-color: var(--cicd-border-l3);
  align-items: center;
  gap: 5px;
  font-size: 13px;
  display: inline-flex;
  color: var(--cicd-fg-primary) !important;
}

.connected-process-module__GZcwMa__link:hover {
  text-decoration-color: currentColor;
}

.connected-process-module__GZcwMa__compact .connected-process-module__GZcwMa__item {
  padding-bottom: 14px;
}

.connected-process-module__GZcwMa__compact .connected-process-module__GZcwMa__item:last-child {
  padding-bottom: 0;
}

button.connected-process-module__GZcwMa__link {
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  margin-top: 2px;
  padding: 0;
  font-size: 13px;
}

.connected-process-module__GZcwMa__action {
  width: fit-content;
  margin-top: 2px;
}

.connected-process-module__GZcwMa__body p.connected-process-module__GZcwMa__sub {
  color: var(--cicd-fg-secondary);
  margin-top: 4px;
  font-size: 12.5px;
}

/* [project]/web/components/ci/presentation/console-forms.module.css [app-client] (css) */
.console-forms-module__mLAZxa__page {
  min-width: 0;
  max-width: 100%;
  color: var(--c-fg, var(--cicd-fg-primary));
}

.console-forms-module__mLAZxa__page :where(h1, h2, h3, p, ul, ol) {
  margin: 0;
}

.console-forms-module__mLAZxa__page *, .console-forms-module__mLAZxa__page :before, .console-forms-module__mLAZxa__page :after {
  box-sizing: border-box;
}

.console-forms-module__mLAZxa__section {
  min-width: 0;
}

.console-forms-module__mLAZxa__form {
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  display: flex;
}

.console-forms-module__mLAZxa__actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.console-forms-module__mLAZxa__mono {
  font-family: var(--c-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  overflow-wrap: anywhere;
  font-size: 13px;
}

.console-forms-module__mLAZxa__badge {
  border: 1px solid var(--c-border, var(--cicd-border-l3));
  min-height: 22px;
  color: var(--c-muted, var(--cicd-fg-secondary));
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.console-forms-module__mLAZxa__badgeOk {
  color: var(--c-success, var(--cicd-fg-success));
  border-color: var(--c-success-border, var(--cicd-border-l3));
}

.console-forms-module__mLAZxa__dot {
  background: currentColor;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.console-forms-module__mLAZxa__banner {
  border: 1px solid var(--c-danger-border, var(--cicd-border-l3));
  background: var(--c-danger-soft, var(--cicd-surface-l2));
  color: var(--c-danger, var(--cicd-fg-warning));
  border-radius: 8px;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  display: flex;
}

.console-forms-module__mLAZxa__banner span {
  overflow-wrap: anywhere;
  flex: 160px;
  min-width: 0;
}

.console-forms-module__mLAZxa__empty, .console-forms-module__mLAZxa__state {
  text-align: center;
  color: var(--c-muted, var(--cicd-fg-secondary));
  padding: 48px 16px;
}

.console-forms-module__mLAZxa__empty h2 {
  color: var(--c-fg);
  font-size: var(--wb-h2);
  margin-bottom: var(--wb-space-2);
  animation: var(--wb-resolve-motion);
}

.console-forms-module__mLAZxa__empty p {
  max-width: 36ch;
  margin: 0 auto;
  line-height: 1.6;
}

.console-forms-module__mLAZxa__empty:before {
  content: "";
  width: var(--wb-topology-width);
  height: var(--wb-topology-height);
  margin: 0 auto var(--wb-space-5);
  background: var(--g-muted);
  -webkit-mask: var(--wb-topology) center / contain no-repeat;
  mask: var(--wb-topology) center / contain no-repeat;
  display: block;
}

.console-forms-module__mLAZxa__dialog {
  box-sizing: border-box;
  border: 1px solid var(--c-border, var(--cicd-border-l3));
  background: var(--c-surface, var(--cicd-surface-elevated));
  width: min(520px, 100vw - 24px);
  max-height: calc(100dvh - 24px);
  color: var(--c-fg, var(--cicd-fg-primary));
  border-radius: 12px;
  margin: auto;
  padding: 24px;
  overflow: auto;
}

.console-forms-module__mLAZxa__dialog::backdrop {
  background: var(--wb-backdrop);
}

.console-forms-module__mLAZxa__dialog[open] {
  animation: var(--wb-disclose-motion);
  border-color: var(--g-line-strong);
}

.console-forms-module__mLAZxa__dialog h2 {
  font-size: 20px;
  font-weight: 600;
}

.console-forms-module__mLAZxa__dialog p {
  color: var(--c-muted, var(--cicd-fg-secondary));
  line-height: 1.6;
}

.console-forms-module__mLAZxa__dialog p.ci-error {
  color: var(--c-danger, var(--cicd-fg-danger));
}

.console-forms-module__mLAZxa__dialog p.console-forms-module__mLAZxa__warn {
  color: var(--c-attn, var(--cicd-fg-warning));
}

.console-forms-module__mLAZxa__dialog p.console-forms-module__mLAZxa__dialogName {
  color: var(--c-fg, var(--cicd-fg-primary));
}

.console-forms-module__mLAZxa__dialogForm {
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.console-forms-module__mLAZxa__dialogHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.console-forms-module__mLAZxa__dialogHead > div {
  min-width: 0;
}

.console-forms-module__mLAZxa__dialogHead p {
  margin-top: 6px;
}

.console-forms-module__mLAZxa__dialogActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
  display: flex;
}

.console-forms-module__mLAZxa__iconBtn {
  width: 36px;
  height: 36px;
  color: var(--c-muted, var(--cicd-fg-secondary));
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.console-forms-module__mLAZxa__iconBtn:hover {
  background: var(--c-hover, var(--cicd-button-ghost-hover));
  color: var(--c-fg, var(--cicd-fg-primary));
}

.console-forms-module__mLAZxa__iconBtn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.console-forms-module__mLAZxa__counted {
  min-width: 0;
  position: relative;
}

.console-forms-module__mLAZxa__counted input, .console-forms-module__mLAZxa__counted textarea {
  width: 100%;
  padding-right: 52px;
}

.console-forms-module__mLAZxa__counted .ci-input {
  width: 100%;
  padding-right: 52px;
}

.console-forms-module__mLAZxa__counter {
  color: var(--c-faint, var(--cicd-fg-secondary));
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  font-size: 12px;
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.console-forms-module__mLAZxa__tokenBox {
  border: 1px solid var(--c-border, var(--cicd-border-l3));
  background: var(--c-inset, var(--cicd-surface-l1));
  border-radius: 8px;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  display: flex;
}

.console-forms-module__mLAZxa__token {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-all;
  font-family: var(--c-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.console-forms-module__mLAZxa__warn {
  color: var(--c-attn, var(--cicd-fg-warning));
  font-size: 13px;
}

.console-forms-module__mLAZxa__warnLine {
  align-items: flex-start;
  gap: 8px;
  line-height: 1.55;
  display: flex;
}

.console-forms-module__mLAZxa__warnLine svg {
  flex: none;
  margin-top: 2px;
}

.console-forms-module__mLAZxa__tokenBoxInline {
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}

.console-forms-module__mLAZxa__tokenBoxInline .console-forms-module__mLAZxa__token {
  flex: auto;
  min-width: 0;
}

.console-forms-module__mLAZxa__tokenCopy {
  flex: none;
  width: 30px;
  height: 30px;
}

.console-forms-module__mLAZxa__dialogName {
  color: var(--c-fg, var(--cicd-fg-primary));
}

.console-forms-module__mLAZxa__danger {
  min-width: 0;
}

.console-forms-module__mLAZxa__dangerTitle {
  color: var(--c-danger, var(--cicd-fg-danger));
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 16px;
  display: flex;
}

.console-forms-module__mLAZxa__dangerCard {
  border: 1px solid var(--c-danger-border, var(--cicd-border-l3));
  border-radius: 8px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 20px;
  display: flex;
}

.console-forms-module__mLAZxa__dangerCard h3 {
  font-size: 16px;
}

.console-forms-module__mLAZxa__dangerCard p {
  color: var(--c-muted, var(--cicd-fg-secondary));
  overflow-wrap: anywhere;
  line-height: 1.6;
}

.console-forms-module__mLAZxa__dangerBtn {
  background: var(--c-danger-soft);
  border: var(--wb-hairline) solid var(--c-danger-border);
  color: var(--c-danger);
  border-radius: var(--wb-radius-sm);
  padding: var(--wb-space-2) var(--wb-space-3);
  min-height: var(--wb-control);
  font: 500 var(--wb-meta)/1.4 var(--g-font);
}

.console-forms-module__mLAZxa__dangerBtn:hover {
  background: var(--c-danger-soft);
  border-color: var(--c-danger);
  color: var(--c-danger);
}

.console-forms-module__mLAZxa__dangerBtn:disabled {
  opacity: .45;
}

@media (max-width: 430px) {
  .console-forms-module__mLAZxa__dialog {
    width: calc(100vw - 16px);
    padding: 18px;
  }

  .console-forms-module__mLAZxa__dangerBtn {
    width: 100%;
  }

  .console-forms-module__mLAZxa__dialogActions .ci-btn {
    width: 100%;
  }

  .console-forms-module__mLAZxa__actions .ci-btn {
    width: 100%;
  }
}

@media (max-width: 320px) {
  .console-forms-module__mLAZxa__dialog {
    width: calc(100vw - 12px);
    padding: 14px;
  }

  .console-forms-module__mLAZxa__counter {
    font-size: 11px;
    right: 8px;
  }
}

/* [project]/web/components/ci/presentation/workbench-table.module.css [app-client] (css) */
.workbench-table-module__Y_WIra__table {
  font-variant-numeric: tabular-nums;
}

.ci-console .workbench-table-module__Y_WIra__table {
  background: var(--g-elev-1);
}

.ci-console .workbench-table-module__Y_WIra__table tbody tr:is(:hover, :focus-within) {
  background: var(--g-elev-2);
}

@media (max-width: 700px) {
  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table {
    background: none;
    width: 100%;
    min-width: 0;
    display: block;
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table thead {
    clip-path: inset(50%);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    display: table-header-group;
    position: absolute;
    overflow: hidden;
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table tbody {
    gap: var(--wb-space-3);
    display: grid;
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table tbody tr {
    gap: var(--wb-space-3);
    min-width: 0;
    padding: var(--wb-space-4);
    border: var(--wb-hairline) solid var(--g-line);
    border-radius: var(--wb-radius);
    background: var(--g-elev-1);
    flex-direction: column;
    display: flex;
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table tbody tr:is(:hover, :focus-within) {
    background: var(--g-elev-2);
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table tbody tr > :is(th, td) {
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    width: auto;
    min-width: 0;
    height: auto;
    font-size: var(--wb-meta);
    border: 0;
    padding: 0;
    display: block;
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table tbody tr > :first-child {
    font-weight: 600;
    font-size: var(--wb-body);
    color: var(--g-text);
    padding-bottom: var(--wb-space-2);
    border-bottom: var(--wb-hairline) solid var(--g-line);
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table tbody [data-label]:before {
    content: attr(data-label);
    margin-bottom: var(--wb-space-1);
    color: var(--g-muted);
    font: 400 var(--wb-caption)/1.5 var(--g-mono);
    display: block;
  }

  .ci-console .workbench-table-module__Y_WIra__table.workbench-table-module__Y_WIra__table :is(code, a, span) {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* [project]/web/components/ci/projects/projects.module.css [app-client] (css) */
.projects-module__xABt2W__page {
  
}

.projects-module__xABt2W__section {
  
}

.projects-module__xABt2W__form {
  
}

.projects-module__xABt2W__actions {
  
}

.projects-module__xABt2W__mono {
  
}

.projects-module__xABt2W__badge {
  
}

.projects-module__xABt2W__badgeOk {
  
}

.projects-module__xABt2W__dot {
  
}

.projects-module__xABt2W__empty {
  
}

.projects-module__xABt2W__state {
  
}

.projects-module__xABt2W__dialog {
  
}

.projects-module__xABt2W__dialogForm {
  
}

.projects-module__xABt2W__dialogHead {
  
}

.projects-module__xABt2W__dialogActions {
  
}

.projects-module__xABt2W__iconBtn {
  
}

.projects-module__xABt2W__counted {
  
}

.projects-module__xABt2W__counter {
  
}

.projects-module__xABt2W__tokenBox {
  
}

.projects-module__xABt2W__token {
  
}

.projects-module__xABt2W__warn {
  
}

.projects-module__xABt2W__danger {
  
}

.projects-module__xABt2W__dangerTitle {
  
}

.projects-module__xABt2W__dangerCard {
  
}

.projects-module__xABt2W__dangerBtn {
  
}

.projects-module__xABt2W__banner {
  margin-bottom: 16px;
}

.projects-module__xABt2W__search {
  max-width: 480px;
  margin: 0 0 28px;
}

.projects-module__xABt2W__cards {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.projects-module__xABt2W__card {
  border: 1px solid var(--c-border, var(--cicd-border-l3));
  background: var(--c-surface, var(--cicd-surface-base));
  min-width: 0;
  color: inherit;
  border-radius: 8px;
  flex-direction: column;
  gap: 10px;
  padding: 20px 22px;
  text-decoration: none;
  display: flex;
}

.projects-module__xABt2W__card:hover {
  background: var(--c-hover, var(--cicd-button-ghost-hover));
  text-decoration: none;
}

.projects-module__xABt2W__card:focus-visible {
  outline: 2px solid var(--c-accent, var(--cicd-ring));
  outline-offset: 2px;
}

.projects-module__xABt2W__cardTop {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
  display: flex;
}

.projects-module__xABt2W__cardName {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.projects-module__xABt2W__cardDesc {
  color: var(--c-muted, var(--cicd-fg-secondary));
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.5;
}

.projects-module__xABt2W__badges {
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.projects-module__xABt2W__meta {
  font-family: var(--c-mono);
  color: var(--c-muted, var(--cicd-fg-secondary));
  overflow-wrap: anywhere;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
  line-height: 1.45;
  display: flex;
}

.projects-module__xABt2W__meta svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.projects-module__xABt2W__textarea {
  resize: vertical;
  height: auto;
  min-height: 84px;
  font-family: inherit;
  font-size: 14px;
}

.projects-module__xABt2W__settings {
  flex-direction: column;
  gap: 40px;
  display: flex;
}

.projects-module__xABt2W__idRow {
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.projects-module__xABt2W__idRow input {
  flex: 220px;
  min-width: 0;
}

.projects-module__xABt2W__idRow {
  flex-wrap: nowrap;
  align-items: center;
}

.projects-module__xABt2W__keyEmpty {
  border: 1px dashed var(--c-border, var(--cicd-border-l3));
  min-height: 140px;
  color: var(--c-muted, var(--cicd-fg-secondary));
  text-align: center;
  border-radius: 8px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 24px 12px;
  display: flex;
}

.projects-module__xABt2W__tableEmpty {
  min-height: 220px;
  color: var(--c-muted, var(--cicd-fg-secondary));
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 48px 12px;
  display: flex;
}

.projects-module__xABt2W__tableEmpty > svg, .projects-module__xABt2W__keyEmpty > svg {
  display: none;
}

.projects-module__xABt2W__tableEmpty > span {
  animation: var(--wb-resolve-motion);
  color: var(--c-fg, var(--cicd-fg-primary));
  font-size: 18px;
  font-weight: 600;
}

.projects-module__xABt2W__tableEmpty p {
  max-width: 42ch;
  line-height: 1.6;
}

.projects-module__xABt2W__keyList {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.projects-module__xABt2W__keyRow {
  border: 1px solid var(--c-border-muted, var(--cicd-border-l3));
  border-radius: 8px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px 16px;
  display: flex;
}

.projects-module__xABt2W__keyMain {
  flex: 220px;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.projects-module__xABt2W__keyMain strong {
  overflow-wrap: anywhere;
  display: block;
}

.projects-module__xABt2W__keyMeta {
  color: var(--c-muted, var(--cicd-fg-secondary));
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 6px;
  font-size: 12px;
  display: flex;
}

.projects-module__xABt2W__keyMeta span {
  overflow-wrap: anywhere;
  align-items: center;
  gap: 4px;
  min-width: 0;
  display: inline-flex;
}

.projects-module__xABt2W__bleed {
  --bleed: 36px;
  margin-inline: calc(var(--bleed) * -1);
  min-width: 0;
  position: relative;
  overflow-x: auto;
}

.projects-module__xABt2W__page .projects-module__xABt2W__bleed {
  --bleed: 20px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  border-radius: 12px;
  margin-inline: 0;
}

.projects-module__xABt2W__page .projects-module__xABt2W__bleed .projects-module__xABt2W__dataTable thead th {
  border-top: 0;
}

.projects-module__xABt2W__page .projects-module__xABt2W__bleed .projects-module__xABt2W__dataTable tbody tr:last-child > * {
  border-bottom: 0;
}

.projects-module__xABt2W__dataTable {
  border-collapse: collapse;
  width: 100%;
  min-width: 620px;
  font-size: 14px;
}

.projects-module__xABt2W__dataTable thead th {
  padding: 12px var(--bleed, 36px);
  background: var(--c-inset, var(--cicd-surface-l1));
  border-block: 1px solid var(--c-border-muted, #262629);
  color: var(--c-muted, var(--cicd-fg-secondary));
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
}

.projects-module__xABt2W__dataTable tbody th, .projects-module__xABt2W__dataTable tbody td {
  padding: 14px var(--bleed, 36px);
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--c-border-muted, var(--cicd-border-l3));
  height: 56px;
}

.projects-module__xABt2W__dataTable thead th + th, .projects-module__xABt2W__dataTable tbody th + td, .projects-module__xABt2W__dataTable tbody td + td {
  padding-inline: 16px;
}

.projects-module__xABt2W__dataTable thead th:last-child, .projects-module__xABt2W__dataTable tbody tr > :last-child {
  padding-right: var(--bleed, 36px);
}

.projects-module__xABt2W__dataTable thead th:last-child:not(:nth-child(-n+3)), .projects-module__xABt2W__dataTable tbody tr > :last-child:not(:nth-child(-n+3)) {
  text-align: right;
}

.projects-module__xABt2W__memberEmail {
  min-width: 0;
  font-weight: 500;
}

.projects-module__xABt2W__memberEmail > span:first-child {
  overflow-wrap: anywhere;
  min-width: 0;
}

.projects-module__xABt2W__memberEmail .projects-module__xABt2W__badge {
  margin-left: 8px;
}

.projects-module__xABt2W__muted {
  color: var(--c-muted, var(--cicd-fg-secondary));
  white-space: nowrap;
}

.projects-module__xABt2W__rowActions {
  white-space: nowrap;
}

.projects-module__xABt2W__hint {
  color: var(--c-muted, var(--cicd-fg-secondary));
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.5;
}

.projects-module__xABt2W__slug {
  font-family: var(--c-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  color: var(--c-muted, var(--cicd-fg-secondary));
  white-space: nowrap;
  font-size: 12.5px;
}

.projects-module__xABt2W__roleSelect {
  width: auto;
  min-width: 132px;
}

.projects-module__xABt2W__actionIcon {
  width: 32px;
  height: 32px;
  color: var(--c-muted, var(--cicd-fg-secondary));
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.projects-module__xABt2W__actionIcon:hover:not(:disabled) {
  background: var(--c-hover, var(--cicd-button-ghost-hover));
}

.projects-module__xABt2W__actionIcon:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.projects-module__xABt2W__actionIcon:focus-visible {
  outline: 2px solid var(--c-accent, var(--cicd-accent-border));
  outline-offset: 1px;
}

.projects-module__xABt2W__actionDanger {
  color: var(--c-danger, var(--cicd-fg-warning));
}

.projects-module__xABt2W__copyIcon {
  flex: none;
  width: 34px;
  height: 34px;
}

.projects-module__xABt2W__bare {
  min-width: 0;
}

.projects-module__xABt2W__bareHead {
  border-bottom: 1px solid var(--c-border-muted, var(--cicd-border-l3));
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 22px;
  padding-bottom: 14px;
  display: flex;
}

.projects-module__xABt2W__bareHead h2 {
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 600;
  display: flex;
}

.projects-module__xABt2W__bareHead h2 svg {
  color: var(--c-muted, var(--cicd-fg-secondary));
}

.projects-module__xABt2W__bareLead {
  color: var(--c-muted, var(--cicd-fg-secondary));
  max-width: 68ch;
  margin-top: 6px;
  line-height: 1.6;
}

.projects-module__xABt2W__half {
  max-width: 448px;
}

.projects-module__xABt2W__half .projects-module__xABt2W__textarea {
  min-height: 96px;
}

.projects-module__xABt2W__modalEmpty {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 28px 12px;
  display: flex;
}

.projects-module__xABt2W__modalEmptyTile {
  background: var(--c-inset, var(--cicd-surface-elevated));
  width: 44px;
  height: 44px;
  color: var(--c-muted, var(--cicd-fg-secondary));
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.projects-module__xABt2W__modalEmpty strong {
  color: var(--c-fg, var(--cicd-fg-primary));
  font-size: 16px;
}

.projects-module__xABt2W__modalEmpty p {
  color: var(--c-muted, var(--cicd-fg-secondary));
  max-width: 34ch;
  line-height: 1.6;
}

.projects-module__xABt2W__inviteList {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.projects-module__xABt2W__inviteRow {
  border: 1px solid var(--c-border-muted, var(--cicd-border-l3));
  border-radius: 8px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px 14px;
  display: flex;
}

.projects-module__xABt2W__inviteRow strong {
  overflow-wrap: anywhere;
  display: block;
}

.projects-module__xABt2W__inviteMeta {
  color: var(--c-muted, var(--cicd-fg-secondary));
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-size: 12px;
  display: flex;
}

.projects-module__xABt2W__pager {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  display: flex;
}

@media (max-width: 1200px) {
  .projects-module__xABt2W__bleed {
    --bleed: 24px;
  }
}

@media (max-width: 700px) {
  .projects-module__xABt2W__bleed {
    --bleed: 16px;
  }

  .projects-module__xABt2W__half {
    max-width: 100%;
  }
}

@media (max-width: 390px) {
  .projects-module__xABt2W__search {
    max-width: 100%;
  }

  .projects-module__xABt2W__cards {
    grid-template-columns: 1fr;
  }

  .projects-module__xABt2W__card {
    padding: 16px;
  }

  .projects-module__xABt2W__idRow {
    flex-direction: column;
  }

  .projects-module__xABt2W__idRow input {
    flex: none;
    width: 100%;
  }

  .projects-module__xABt2W__keyRow {
    align-items: stretch;
  }

  .projects-module__xABt2W__keyRow .ci-btn {
    width: 100%;
  }
}

@media (max-width: 320px) {
  .projects-module__xABt2W__cardName {
    font-size: 15px;
  }
}

@media (min-width: 1440px) {
  .projects-module__xABt2W__cards {
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  }

  .projects-module__xABt2W__search {
    max-width: 520px;
  }
}

.projects-module__xABt2W__bleed {
  --bleed: var(--ci-gutter);
}

@media (max-width: 700px) {
  .projects-module__xABt2W__bleed {
    margin-inline: 0;
  }
}

.projects-module__xABt2W__card {
  border-radius: var(--wb-radius);
  padding: var(--wb-space-5);
}

.projects-module__xABt2W__card:is(:hover, :focus-visible) {
  border-color: var(--g-line-strong);
}

.projects-module__xABt2W__keyRow, .projects-module__xABt2W__inviteRow {
  background: var(--g-elev-1);
}

.projects-module__xABt2W__toolbar {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  display: flex;
}

.projects-module__xABt2W__keyId {
  margin-bottom: 16px;
}

@media (max-width: 700px) {
  .projects-module__xABt2W__page .projects-module__xABt2W__bleed {
    background: none;
    border: 0;
  }

  .projects-module__xABt2W__idRow {
    flex-direction: row !important;
  }

  .projects-module__xABt2W__idRow input {
    flex: auto !important;
    width: auto !important;
  }
}

.projects-module__xABt2W__danger .projects-module__xABt2W__dangerTitle.projects-module__xABt2W__dangerTitle {
  margin: 0 0 12px;
}

.projects-module__xABt2W__keyIdBelow {
  margin-top: 18px;
}

.projects-module__xABt2W__pager .projects-module__xABt2W__actions.projects-module__xABt2W__actions {
  flex-flow: row;
  width: auto;
}

.projects-module__xABt2W__pager .projects-module__xABt2W__actions.projects-module__xABt2W__actions .ci-btn {
  width: auto;
}

/* [project]/web/components/ci/projects/workflow-migration.module.css [app-client] (css) */
.workflow-migration-module__8LeF7q__dialog {
  width: min(640px, 100vw - 32px);
}

.workflow-migration-module__8LeF7q__muted {
  color: var(--c-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.workflow-migration-module__8LeF7q__repoName {
  margin: 0;
}

.workflow-migration-module__8LeF7q__repoName code {
  color: var(--c-fg);
  font-size: 13px;
}

.workflow-migration-module__8LeF7q__summary {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.workflow-migration-module__8LeF7q__ok {
  border: 1px solid var(--c-success-border, var(--c-border));
  color: var(--c-fg);
  border-radius: 10px;
  margin: 0;
  padding: 12px 14px;
  font-size: 14px;
}

.workflow-migration-module__8LeF7q__files {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.workflow-migration-module__8LeF7q__file {
  border: 1px solid var(--c-border);
  background: var(--c-inset);
  border-radius: 10px;
  gap: 8px;
  min-width: 0;
  padding: 12px 14px;
  display: grid;
}

.workflow-migration-module__8LeF7q__file ul {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.workflow-migration-module__8LeF7q__file li {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 8px;
  min-width: 0;
  font-size: 13px;
  display: flex;
}

.workflow-migration-module__8LeF7q__file code {
  overflow-wrap: anywhere;
  font-size: 12.5px;
}

.workflow-migration-module__8LeF7q__path {
  color: var(--c-fg);
  font-weight: 600;
}

.workflow-migration-module__8LeF7q__line {
  color: var(--c-muted);
  min-width: 52px;
  font-size: 12.5px;
}

.workflow-migration-module__8LeF7q__to {
  color: var(--c-success, var(--c-fg));
}

.workflow-migration-module__8LeF7q__manualHead {
  font-size: 13px;
  font-weight: 600;
}

.workflow-migration-module__8LeF7q__reason {
  color: var(--c-muted);
  font-size: 12.5px;
}

.workflow-migration-module__8LeF7q__permission {
  border: 1px solid var(--c-attn-border, var(--c-border));
  background: var(--c-attn-soft, var(--c-inset));
  border-radius: 10px;
  justify-items: start;
  gap: 8px;
  padding: 14px 16px;
  display: grid;
}

.workflow-migration-module__8LeF7q__permission strong {
  font-size: 14px;
}

.workflow-migration-module__8LeF7q__permission p {
  color: var(--c-fg-2);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.workflow-migration-module__8LeF7q__permission .ci-btn {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.workflow-migration-module__8LeF7q__manual {
  border-top: 1px solid var(--c-border-muted, var(--c-border));
  gap: 6px;
  padding-top: 12px;
  display: grid;
}

.workflow-migration-module__8LeF7q__manual strong {
  font-size: 13px;
  font-weight: 600;
}

.workflow-migration-module__8LeF7q__manual p {
  color: var(--c-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.workflow-migration-module__8LeF7q__diff {
  border: 1px solid var(--c-border);
  background: var(--c-inset);
  border-radius: 8px;
  gap: 2px;
  padding: 10px 12px;
  font-size: 12.5px;
  display: grid;
}

.workflow-migration-module__8LeF7q__del {
  color: var(--c-muted);
  text-decoration: line-through;
}

.workflow-migration-module__8LeF7q__del:before {
  content: "- ";
}

.workflow-migration-module__8LeF7q__add {
  color: var(--c-fg);
}

.workflow-migration-module__8LeF7q__add:before {
  content: "+ ";
}

.workflow-migration-module__8LeF7q__starterHead {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.workflow-migration-module__8LeF7q__starter {
  border: 1px solid var(--c-border);
  background: var(--c-inset);
  border-radius: 8px;
  margin: 0;
  padding: 10px 12px;
  font-size: 12.5px;
  line-height: 1.6;
  overflow: hidden;
}

.workflow-migration-module__8LeF7q__starter code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 12.5px;
  display: block;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.workflow-migration-module__8LeF7q__errorBox {
  color: var(--c-danger);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  display: flex;
}

.workflow-migration-module__8LeF7q__done {
  justify-items: start;
  gap: 10px;
  display: grid;
}

.workflow-migration-module__8LeF7q__done strong {
  font-size: 15px;
}

.workflow-migration-module__8LeF7q__done p {
  color: var(--c-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.workflow-migration-module__8LeF7q__done .ci-btn {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.workflow-migration-module__8LeF7q__doneIcon {
  background: var(--c-fg);
  width: 36px;
  height: 36px;
  color: var(--c-accent-fg, var(--cicd-surface-base));
  border-radius: 50%;
  place-items: center;
  display: inline-grid;
}

.workflow-migration-module__8LeF7q__pickers {
  grid-template-columns: minmax(0, 1fr) minmax(0, 220px);
  align-items: end;
  gap: 12px;
  display: grid;
}

.workflow-migration-module__8LeF7q__pickers .workflow-migration-module__8LeF7q__repoName {
  align-items: center;
  min-height: 36px;
  display: flex;
}

@media (max-width: 600px) {
  .workflow-migration-module__8LeF7q__pickers {
    grid-template-columns: minmax(0, 1fr);
  }
}

.workflow-migration-module__8LeF7q__repoRow {
  align-items: center;
  min-width: 0;
  display: flex;
}

.workflow-migration-module__8LeF7q__repoRow > a {
  flex: auto;
  min-width: 0;
}

.workflow-migration-module__8LeF7q__repoAction {
  font: inherit;
  color: var(--c-muted);
  text-underline-offset: 3px;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--c-border);
  text-decoration-color: var(--c-border);
  cursor: pointer;
  background: none;
  border: 0;
  flex: none;
  margin-right: 16px;
  padding: 0;
  font-size: 12.5px;
}

.workflow-migration-module__8LeF7q__repoAction:hover {
  color: var(--c-fg);
  text-decoration-color: currentColor;
}

.workflow-migration-module__8LeF7q__noRepos {
  padding: 0 16px 14px 64px;
}

@media (max-width: 600px) {
  .workflow-migration-module__8LeF7q__repoRow {
    flex-wrap: wrap;
  }

  .workflow-migration-module__8LeF7q__repoAction {
    margin: 6px 16px;
  }

  .workflow-migration-module__8LeF7q__noRepos {
    padding-left: 16px;
  }
}

.workflow-migration-module__8LeF7q__how {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.workflow-migration-module__8LeF7q__how strong {
  color: var(--c-fg);
  font-size: 13px;
  font-weight: 600;
}

.workflow-migration-module__8LeF7q__how ol {
  gap: 6px;
  margin: 0;
  padding-left: 20px;
  display: grid;
}

.workflow-migration-module__8LeF7q__how li {
  color: var(--c-fg-2, var(--c-muted));
  overflow-wrap: anywhere;
  padding-left: 2px;
  font-size: 13px;
  line-height: 1.6;
}

.workflow-migration-module__8LeF7q__how li::marker {
  color: var(--c-muted);
  font-variant-numeric: tabular-nums;
}

.workflow-migration-module__8LeF7q__howFold summary {
  width: fit-content;
  color: var(--c-muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  list-style: none;
}

.workflow-migration-module__8LeF7q__howFold summary::-webkit-details-marker {
  display: none;
}

.workflow-migration-module__8LeF7q__howFold summary:after {
  content: " +";
}

.workflow-migration-module__8LeF7q__howFold[open] summary:after {
  content: " −";
}

.workflow-migration-module__8LeF7q__howFold summary:hover {
  color: var(--c-fg);
}

.workflow-migration-module__8LeF7q__howFold summary:focus-visible {
  outline: 2px solid var(--c-focus, var(--cicd-ring));
  outline-offset: 2px;
  border-radius: 4px;
}

.workflow-migration-module__8LeF7q__field {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.workflow-migration-module__8LeF7q__fieldLabel {
  color: var(--c-fg);
  font-size: 13px;
  font-weight: 600;
}

.workflow-migration-module__8LeF7q__combo {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.workflow-migration-module__8LeF7q__comboTrigger {
  border: 1px solid var(--c-border);
  width: 100%;
  min-height: 40px;
  color: var(--c-fg);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 0 12px;
  font-size: 14px;
  display: flex;
}

.workflow-migration-module__8LeF7q__comboTrigger > svg:first-child {
  color: var(--c-muted);
  flex: none;
}

.workflow-migration-module__8LeF7q__comboTrigger:hover:not(:disabled) {
  background: var(--c-hover);
}

.workflow-migration-module__8LeF7q__comboTrigger:focus-visible {
  outline: 2px solid var(--c-focus, var(--c-fg));
  outline-offset: 2px;
}

.workflow-migration-module__8LeF7q__comboTrigger[aria-expanded="true"] {
  border-color: var(--c-fg-2, var(--c-border));
}

.workflow-migration-module__8LeF7q__comboTrigger:disabled {
  cursor: default;
  opacity: .6;
}

.workflow-migration-module__8LeF7q__comboValue {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
}

.workflow-migration-module__8LeF7q__comboOwner {
  color: var(--c-muted);
  font-weight: 400;
}

.workflow-migration-module__8LeF7q__comboChevron {
  color: var(--c-muted);
  flex: none;
}

.workflow-migration-module__8LeF7q__comboTrigger[aria-expanded="true"] .workflow-migration-module__8LeF7q__comboChevron {
  transform: rotate(180deg);
}

.workflow-migration-module__8LeF7q__comboPanel {
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  border-radius: 8px;
  overflow: hidden;
}

.workflow-migration-module__8LeF7q__comboSearch {
  border-bottom: 1px solid var(--c-border);
  color: var(--c-muted);
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  display: flex;
}

.workflow-migration-module__8LeF7q__comboSearch input {
  min-width: 0;
  height: 38px;
  color: var(--c-fg);
  font: inherit;
  background: none;
  border: 0;
  outline: none;
  flex: auto;
  font-size: 14px;
}

.workflow-migration-module__8LeF7q__comboList {
  max-height: 232px;
  margin: 0;
  padding: 4px;
  list-style: none;
  overflow: auto;
}

.workflow-migration-module__8LeF7q__comboList [role="option"] {
  cursor: pointer;
  border-radius: 6px;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 0 8px;
  font-size: 14px;
  display: grid;
}

.workflow-migration-module__8LeF7q__comboList [role="option"][data-active] {
  background: var(--c-hover);
}

.workflow-migration-module__8LeF7q__comboOptName {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--c-fg);
  overflow: hidden;
}

.workflow-migration-module__8LeF7q__comboOptOwner {
  color: var(--c-muted);
  white-space: nowrap;
  font-size: 12px;
}

.workflow-migration-module__8LeF7q__comboOptCheck {
  color: var(--c-fg);
  display: inline-flex;
}

.workflow-migration-module__8LeF7q__comboEmpty {
  color: var(--c-muted);
  padding: 10px 8px;
  font-size: 13px;
}

@media (prefers-reduced-motion: no-preference) {
  .workflow-migration-module__8LeF7q__comboChevron {
    transition: transform .12s;
  }
}

@media (max-width: 600px) {
  .workflow-migration-module__8LeF7q__comboTrigger, .workflow-migration-module__8LeF7q__comboSearch input {
    font-size: 16px;
  }

  .workflow-migration-module__8LeF7q__comboList [role="option"] {
    min-height: 44px;
  }
}

.workflow-migration-module__8LeF7q__combo .workflow-migration-module__8LeF7q__comboSearch input:focus, .workflow-migration-module__8LeF7q__combo .workflow-migration-module__8LeF7q__comboSearch input:focus-visible {
  box-shadow: none;
  background: none;
  border: 0;
  outline: none;
}

.workflow-migration-module__8LeF7q__comboPanel:focus-within {
  border-color: var(--c-fg-2, var(--c-border));
}

.workflow-migration-module__8LeF7q__checking {
  border: 1px solid var(--c-border);
  min-height: 46px;
  color: var(--c-muted);
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0 14px;
  font-size: 14px;
  display: flex;
}

.workflow-migration-module__8LeF7q__spinner {
  border: 2px solid var(--c-border);
  border-top-color: var(--c-fg);
  border-radius: 50%;
  flex: none;
  width: 16px;
  height: 16px;
  animation: .8s linear infinite workflow-migration-module__8LeF7q__migration-spin;
}

@keyframes workflow-migration-module__8LeF7q__migration-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .workflow-migration-module__8LeF7q__spinner {
    animation-duration: 2.4s;
  }
}

.workflow-migration-module__8LeF7q__dialog .workflow-migration-module__8LeF7q__ok {
  border: 1px solid var(--c-border);
  border-radius: 10px;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  display: flex;
}

.workflow-migration-module__8LeF7q__okIcon {
  border: 1.5px solid var(--c-success, var(--c-fg));
  width: 22px;
  height: 22px;
  color: var(--c-success, var(--c-fg));
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  margin-top: 1px;
  display: inline-flex;
}

.workflow-migration-module__8LeF7q__dialog .workflow-migration-module__8LeF7q__ok strong {
  color: var(--c-fg);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  display: block;
}

.workflow-migration-module__8LeF7q__dialog .workflow-migration-module__8LeF7q__ok p {
  color: var(--c-muted);
  margin: 2px 0 0;
  font-size: 13px;
  line-height: 1.6;
}

.workflow-migration-module__8LeF7q__panel {
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  display: flex;
}

.workflow-migration-module__8LeF7q__listHead {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.workflow-migration-module__8LeF7q__search {
  border: 1px solid var(--c-border);
  min-width: 0;
  height: 32px;
  color: var(--c-muted);
  border-radius: 8px;
  flex: 0 220px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  display: flex;
}

.workflow-migration-module__8LeF7q__search input {
  min-width: 0;
  color: var(--c-fg);
  font: inherit;
  background: none;
  border: 0;
  outline: none;
  flex: 1;
  font-size: 13px;
}

.workflow-migration-module__8LeF7q__search:focus-within {
  border-color: var(--c-fg-2, var(--c-border));
}

.workflow-migration-module__8LeF7q__list {
  gap: 8px;
  min-width: 0;
  max-height: min(46vh, 420px);
  display: grid;
  overflow: hidden auto;
}

.workflow-migration-module__8LeF7q__rows {
  border: 1px solid var(--c-border);
  border-radius: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.workflow-migration-module__8LeF7q__row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px 12px;
  min-width: 0;
  padding: 8px 12px;
  display: grid;
}

.workflow-migration-module__8LeF7q__row + .workflow-migration-module__8LeF7q__row {
  border-top: 1px solid var(--c-border);
}

.workflow-migration-module__8LeF7q__rowMain {
  cursor: pointer;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.workflow-migration-module__8LeF7q__rowMain input {
  width: 16px;
  height: 16px;
  accent-color: var(--c-fg);
  flex: none;
}

.workflow-migration-module__8LeF7q__rowMain input:disabled {
  cursor: default;
}

.workflow-migration-module__8LeF7q__rowName {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: var(--c-fg);
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
}

.workflow-migration-module__8LeF7q__rowOwner {
  color: var(--c-muted);
  font-weight: 400;
}

.workflow-migration-module__8LeF7q__rowSide {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.workflow-migration-module__8LeF7q__rowBranch {
  width: 150px;
  max-width: 150px;
  height: 32px;
  font-size: 13px;
}

.workflow-migration-module__8LeF7q__rowChanges {
  font: inherit;
  color: var(--c-muted);
  text-underline-offset: 3px;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--c-border);
  text-decoration-color: var(--c-border);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 0;
  font-size: 12.5px;
}

.workflow-migration-module__8LeF7q__rowChanges:hover, .workflow-migration-module__8LeF7q__rowChanges[aria-expanded="true"] {
  color: var(--c-fg);
}

.workflow-migration-module__8LeF7q__rowMuted {
  color: var(--c-muted);
  white-space: nowrap;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  display: inline-flex;
}

.workflow-migration-module__8LeF7q__rowMuted .workflow-migration-module__8LeF7q__spinner {
  width: 12px;
  height: 12px;
}

.workflow-migration-module__8LeF7q__rowError {
  color: var(--c-danger);
  overflow-wrap: anywhere;
  grid-column: 1 / -1;
  margin: 0;
  font-size: 12.5px;
}

.workflow-migration-module__8LeF7q__rowSide .workflow-migration-module__8LeF7q__rowError {
  grid-column: auto;
}

.workflow-migration-module__8LeF7q__rowLink {
  color: var(--c-fg);
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  display: inline-flex;
}

.workflow-migration-module__8LeF7q__rowPlan {
  grid-column: 1 / -1;
  min-width: 0;
}

.workflow-migration-module__8LeF7q__rest > summary {
  width: fit-content;
  color: var(--c-muted);
  cursor: pointer;
  padding: 4px 0;
  font-size: 13px;
  list-style: none;
}

.workflow-migration-module__8LeF7q__rest > summary::-webkit-details-marker {
  display: none;
}

.workflow-migration-module__8LeF7q__rest > summary:after {
  content: " +";
}

.workflow-migration-module__8LeF7q__rest[open] > summary:after {
  content: " −";
}

.workflow-migration-module__8LeF7q__rest > summary:hover {
  color: var(--c-fg);
}

.workflow-migration-module__8LeF7q__rest[open] > summary {
  margin-bottom: 8px;
}

.workflow-migration-module__8LeF7q__starterHead p {
  flex: 1;
  min-width: 0;
}

@media (max-width: 600px) {
  .workflow-migration-module__8LeF7q__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .workflow-migration-module__8LeF7q__rowSide {
    flex-wrap: wrap;
    padding-left: 26px;
  }

  .workflow-migration-module__8LeF7q__rowBranch {
    flex: 140px;
    width: auto;
    max-width: 100%;
  }

  .workflow-migration-module__8LeF7q__listHead {
    flex-wrap: wrap;
  }

  .workflow-migration-module__8LeF7q__search {
    flex: 100%;
  }
}

/* [project]/web/components/ci/projects/top-up.module.css [app-client] (css) */
.top-up-module__se47UW__dialog {
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  width: min(680px, 100vw - 24px);
  max-height: calc(100dvh - 24px);
  color: var(--c-fg);
  box-sizing: border-box;
  border-radius: 16px;
  margin: auto;
  padding: 0;
  overflow: auto;
}

.top-up-module__se47UW__dialog::backdrop {
  background: #0009;
}

.top-up-module__se47UW__dialog *, .top-up-module__se47UW__dialog :before, .top-up-module__se47UW__dialog :after {
  box-sizing: border-box;
}

.top-up-module__se47UW__head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 24px 4px;
  display: flex;
}

.top-up-module__se47UW__head h2 {
  letter-spacing: -.01em;
  margin: 0;
  font-size: 18px;
  font-weight: 650;
}

.top-up-module__se47UW__head p {
  color: var(--c-muted);
  margin: 6px 0 0;
  font-size: 13.5px;
  line-height: 1.6;
}

.top-up-module__se47UW__close {
  width: 36px;
  height: 36px;
  color: var(--c-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.top-up-module__se47UW__close:hover {
  background: var(--c-hover);
  color: var(--c-fg);
}

.top-up-module__se47UW__close:focus-visible {
  outline: 2px solid var(--c-focus, var(--c-fg));
  outline-offset: 2px;
}

.top-up-module__se47UW__error {
  color: var(--c-danger);
  margin: 16px 24px 24px;
  font-size: 13px;
}

.top-up-module__se47UW__body {
  gap: 20px;
  padding: 20px 24px 24px;
  display: grid;
}

.top-up-module__se47UW__packs {
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.top-up-module__se47UW__packs h3 {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
}

.top-up-module__se47UW__pack {
  border: 1px solid var(--c-border);
  width: 100%;
  min-height: 64px;
  color: var(--c-fg);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  display: flex;
}

.top-up-module__se47UW__pack:hover {
  background: var(--c-hover);
  border-color: var(--c-fg-2, var(--c-border));
}

.top-up-module__se47UW__pack:focus-visible {
  outline: 2px solid var(--c-focus, var(--c-fg));
  outline-offset: 2px;
}

.top-up-module__se47UW__packAmount {
  color: var(--c-fg-2);
  align-items: baseline;
  gap: 5px;
  font-size: 13.5px;
  display: inline-flex;
}

.top-up-module__se47UW__packAmount strong {
  color: var(--c-fg);
  font-variant-numeric: tabular-nums;
  font-size: 18px;
  font-weight: 650;
}

.top-up-module__se47UW__packPrice {
  font-variant-numeric: tabular-nums;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  display: inline-flex;
}

.top-up-module__se47UW__packPrice svg {
  color: var(--c-muted);
}

@media (max-width: 640px) {
  .top-up-module__se47UW__head {
    padding: 20px 20px 4px;
  }

  .top-up-module__se47UW__body {
    padding: 16px 20px 20px;
  }
}

.top-up-module__se47UW__packText {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.top-up-module__se47UW__packBonus {
  color: var(--c-muted);
  font-size: 12.5px;
}

.top-up-module__se47UW__pack {
  min-height: 72px;
}

/* [project]/web/components/ci/projects/project-frame.module.css [app-client] (css) */
.project-frame-module__-w6uBG__frame {
  box-sizing: border-box;
  align-content: start;
  gap: 0;
  width: 100%;
  min-width: 0;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 32px 72px;
  display: grid;
}

.project-frame-module__-w6uBG__frame *, .project-frame-module__-w6uBG__frame :before, .project-frame-module__-w6uBG__frame :after {
  box-sizing: border-box;
}

.project-frame-module__-w6uBG__muted {
  color: var(--c-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.project-frame-module__-w6uBG__error {
  color: var(--c-danger);
  margin: 0;
  font-size: 13px;
}

.project-frame-module__-w6uBG__notice {
  color: var(--c-fg-2);
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  display: flex;
}

.project-frame-module__-w6uBG__pulse {
  background: var(--c-success);
  border-radius: 50%;
  flex: none;
  width: 8px;
  height: 8px;
  animation: 1.6s ease-in-out infinite project-frame-module__-w6uBG__pulse;
}

@keyframes project-frame-module__-w6uBG__pulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .35;
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-frame-module__-w6uBG__pulse {
    animation: none;
  }
}

.project-frame-module__-w6uBG__head {
  border-bottom: 1px solid var(--c-border);
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-width: 0;
  margin-bottom: 28px;
  padding-bottom: 28px;
  display: flex;
}

.project-frame-module__-w6uBG__identity {
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.project-frame-module__-w6uBG__headAvatar {
  background: var(--c-inset);
  width: 44px;
  height: 44px;
  color: var(--c-fg-2);
  object-fit: cover;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: 600;
  display: inline-flex;
}

.project-frame-module__-w6uBG__title {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__title h1 {
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.2;
}

.project-frame-module__-w6uBG__meta {
  color: var(--c-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 20px;
  min-width: 0;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  display: flex;
}

.project-frame-module__-w6uBG__meta .project-frame-module__-w6uBG__facts {
  flex-wrap: wrap;
  gap: 0;
  display: inline-flex;
}

.project-frame-module__-w6uBG__meta .project-frame-module__-w6uBG__facts > span + span:before {
  content: "·";
  color: var(--c-muted);
  margin: 0 8px;
}

.project-frame-module__-w6uBG__meta .project-frame-module__-w6uBG__actions {
  flex-wrap: wrap;
  gap: 4px 16px;
  display: inline-flex;
}

.project-frame-module__-w6uBG__meta a, .project-frame-module__-w6uBG__meta button {
  font: inherit;
  text-underline-offset: 3px;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-size: 13px;
  color: var(--c-fg) !important;
  text-decoration: underline !important;
  -webkit-text-decoration-color: var(--c-border) !important;
  text-decoration-color: var(--c-border) !important;
}

.project-frame-module__-w6uBG__meta a:hover, .project-frame-module__-w6uBG__meta button:hover {
  text-decoration-color: currentColor !important;
}

.project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__title h1 a {
  color: var(--c-fg) !important;
  text-decoration: none !important;
}

.project-frame-module__-w6uBG__accounts {
  color: var(--c-muted);
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0;
  font-size: 13px;
  display: flex;
}

.project-frame-module__-w6uBG__accounts svg {
  flex: none;
}

.project-frame-module__-w6uBG__accounts span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.project-frame-module__-w6uBG__credits {
  font: inherit;
  text-align: right;
  white-space: nowrap;
  background: none;
  border: 0;
  flex: none;
  justify-items: end;
  gap: 2px;
  padding: 0;
  font-size: 12px;
  display: grid;
  color: var(--c-muted) !important;
  text-decoration: none !important;
}

.project-frame-module__-w6uBG__credits strong {
  color: var(--c-fg);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}

button.project-frame-module__-w6uBG__credits {
  cursor: pointer;
}

button.project-frame-module__-w6uBG__credits:hover strong {
  text-underline-offset: 4px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

button.project-frame-module__-w6uBG__credits:focus-visible {
  outline: 2px solid var(--c-focus, var(--cicd-ring));
  outline-offset: 4px;
  border-radius: 4px;
}

.project-frame-module__-w6uBG__menu {
  border-bottom: 1px solid var(--c-border);
  scrollbar-width: none;
  gap: 2px;
  min-width: 0;
  margin: -12px 0 24px;
  display: flex;
  overflow-x: auto;
}

.project-frame-module__-w6uBG__menu::-webkit-scrollbar {
  display: none;
}

.project-frame-module__-w6uBG__menu a {
  white-space: nowrap;
  border-bottom: 2px solid #0000;
  flex: none;
  margin-bottom: -1px;
  padding: 8px 10px;
  font-size: 13.5px;
  color: var(--c-muted) !important;
  text-decoration: none !important;
}

.project-frame-module__-w6uBG__menu a:hover {
  color: var(--c-fg) !important;
}

.project-frame-module__-w6uBG__menu a[aria-current="page"] {
  border-bottom-color: var(--c-fg);
  font-weight: 600;
  color: var(--c-fg) !important;
}

.project-frame-module__-w6uBG__content {
  align-content: start;
  gap: 24px;
  min-width: 0;
  display: grid;
}

.project-frame-module__-w6uBG__content .app-page-head {
  padding-top: 0 !important;
}

.project-frame-module__-w6uBG__panel {
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  border-radius: 12px;
  gap: 14px;
  min-width: 0;
  padding: 20px;
  display: grid;
}

.project-frame-module__-w6uBG__panelHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.project-frame-module__-w6uBG__panelHead > div {
  flex: 320px;
  gap: 4px;
  min-width: 0;
  display: grid;
}

.project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__panelHead h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.project-frame-module__-w6uBG__panelHead p {
  color: var(--c-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.project-frame-module__-w6uBG__panelHead .ci-btn {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.project-frame-module__-w6uBG__accountList, .project-frame-module__-w6uBG__panel > ul {
  border: 1px solid var(--c-border);
  border-radius: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.project-frame-module__-w6uBG__account {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px 14px;
  display: flex;
}

.project-frame-module__-w6uBG__account + .project-frame-module__-w6uBG__account {
  border-top: 1px solid var(--c-border);
}

.project-frame-module__-w6uBG__accountIcon {
  border: 1px solid var(--c-border);
  width: 32px;
  height: 32px;
  color: var(--c-fg-2);
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.project-frame-module__-w6uBG__accountMain {
  flex: 180px;
  gap: 2px;
  min-width: 0;
  display: grid;
}

.project-frame-module__-w6uBG__accountMain strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 600;
}

.project-frame-module__-w6uBG__textLink {
  text-underline-offset: 3px;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--c-border);
  text-decoration-color: var(--c-border);
  align-items: center;
  gap: 5px;
  width: fit-content;
  font-size: 13px;
  display: inline-flex;
  color: var(--c-fg) !important;
}

.project-frame-module__-w6uBG__textLink:hover {
  text-decoration-color: currentColor;
}

.project-frame-module__-w6uBG__emptyBox {
  border: 1px dashed var(--c-border);
  border-radius: 10px;
  justify-items: start;
  gap: 12px;
  padding: 20px;
  display: grid;
}

.project-frame-module__-w6uBG__emptyBox p {
  color: var(--c-muted);
  margin: 0;
  font-size: 14px;
}

.project-frame-module__-w6uBG__emptyBox .ci-btn {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.project-frame-module__-w6uBG__aside {
  background: var(--c-inset);
  border-radius: 10px;
  gap: 6px;
  padding: 14px 16px;
  display: grid;
}

.project-frame-module__-w6uBG__aside strong {
  font-size: 13.5px;
  font-weight: 600;
}

.project-frame-module__-w6uBG__aside p {
  color: var(--c-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.project-frame-module__-w6uBG__section {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__section h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.project-frame-module__-w6uBG__repoList {
  border: 1px solid var(--c-border);
  border-radius: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.project-frame-module__-w6uBG__repoList li + li {
  border-top: 1px solid var(--c-border);
}

.project-frame-module__-w6uBG__repoList a {
  overflow-wrap: anywhere;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 13px 16px;
  font-size: 14px;
  display: flex;
  color: var(--c-fg) !important;
  text-decoration: none !important;
}

.project-frame-module__-w6uBG__repoList a:hover {
  background: var(--c-hover);
}

.project-frame-module__-w6uBG__repoList a > span:last-child {
  color: var(--c-muted);
  flex: none;
  margin-left: auto;
  font-size: 12.5px;
}

@media (max-width: 900px) {
  .project-frame-module__-w6uBG__frame {
    padding-top: 64px;
  }
}

@media (max-width: 600px) {
  .project-frame-module__-w6uBG__frame {
    padding: 64px 16px 56px;
  }

  .project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__title h1 {
    font-size: 20px;
  }

  .project-frame-module__-w6uBG__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .project-frame-module__-w6uBG__identity {
    gap: 12px;
  }

  .project-frame-module__-w6uBG__headAvatar {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }

  .project-frame-module__-w6uBG__credits {
    text-align: left;
    grid-auto-flow: column;
    place-items: baseline start;
    gap: 8px;
  }

  .project-frame-module__-w6uBG__credits strong {
    font-size: 16px;
  }

  .project-frame-module__-w6uBG__menu {
    margin: 12px -16px 20px;
    padding: 0 12px;
  }

  .project-frame-module__-w6uBG__panel {
    padding: 16px;
  }
}

.project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__panelTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.project-frame-module__-w6uBG__links {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.project-frame-module__-w6uBG__accountsSection {
  gap: 14px;
  min-width: 0;
  display: grid;
}

.project-frame-module__-w6uBG__sectionHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__sectionHead h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.project-frame-module__-w6uBG__sectionHead .ci-btn {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.project-frame-module__-w6uBG__accountCards {
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.project-frame-module__-w6uBG__accountCard {
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  border-radius: 12px;
  min-width: 0;
  overflow: hidden;
}

.project-frame-module__-w6uBG__accountHead {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px 16px;
  display: flex;
}

.project-frame-module__-w6uBG__avatar {
  border: 1px solid var(--c-border);
  background: var(--c-inset);
  color: var(--c-fg-2);
  object-fit: cover;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  font-weight: 650;
  display: inline-flex;
}

.project-frame-module__-w6uBG__accountHead .project-frame-module__-w6uBG__accountMain {
  flex: 160px;
}

.project-frame-module__-w6uBG__accountHead .project-frame-module__-w6uBG__accountMain span {
  color: var(--c-muted);
  font-size: 12.5px;
}

.project-frame-module__-w6uBG__repoRows {
  border-top: 1px solid var(--c-border);
  margin: 0;
  padding: 0;
  list-style: none;
}

.project-frame-module__-w6uBG__repoRows li + li {
  border-top: 1px solid var(--c-border-muted, var(--c-border));
}

.project-frame-module__-w6uBG__repoRows a {
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 11px 16px 11px 64px;
  font-size: 13.5px;
  display: flex;
  color: var(--c-fg) !important;
  text-decoration: none !important;
}

.project-frame-module__-w6uBG__repoRows a:hover {
  background: var(--c-hover);
}

.project-frame-module__-w6uBG__repoRows a svg {
  color: var(--c-muted);
  flex: none;
}

.project-frame-module__-w6uBG__repoRows a span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.project-frame-module__-w6uBG__repoRows a em {
  color: var(--c-muted);
  flex: none;
  margin-left: auto;
  font-size: 12.5px;
  font-style: normal;
}

.project-frame-module__-w6uBG__footNote {
  color: var(--c-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 600px) {
  .project-frame-module__-w6uBG__repoRows a {
    padding-left: 16px;
  }

  .project-frame-module__-w6uBG__accountHead {
    padding: 12px 14px;
  }
}

.project-frame-module__-w6uBG__content .ci-table-bleed {
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  border-radius: 12px;
  margin-inline: 0 !important;
}

.project-frame-module__-w6uBG__content .ci-table-bleed :is(th, td):first-child {
  padding-left: 20px;
}

.project-frame-module__-w6uBG__content .ci-table-bleed :is(th, td):last-child {
  padding-right: 20px;
}

.project-frame-module__-w6uBG__content .ci-table-bleed tbody tr:last-child td {
  border-bottom: 0;
}

@media (max-width: 700px) {
  .project-frame-module__-w6uBG__content .ci-table-bleed {
    background: none;
    border: 0;
  }

  :is(.project-frame-module__-w6uBG__content .ci-table-bleed :is(th, td):first-child, .project-frame-module__-w6uBG__content .ci-table-bleed :is(th, td):last-child) {
    padding-inline: 0;
  }
}

.project-frame-module__-w6uBG__frame:has([id="build-log-panel"]) {
  max-width: 1680px;
}

.project-frame-module__-w6uBG__headSide {
  flex: none;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.project-frame-module__-w6uBG__headSide .project-frame-module__-w6uBG__credits {
  text-align: right;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  font-size: 12px;
  line-height: 16px;
  display: flex;
}

.project-frame-module__-w6uBG__headSide .project-frame-module__-w6uBG__credits strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}

.project-frame-module__-w6uBG__topUpShort {
  display: none;
}

.project-frame-module__-w6uBG__frame .project-frame-module__-w6uBG__title h1 {
  font-size: 20px;
}

.project-frame-module__-w6uBG__head {
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.project-frame-module__-w6uBG__headAvatar {
  width: 36px;
  height: 36px;
  font-size: 15px;
}

@media (max-width: 600px) {
  .project-frame-module__-w6uBG__headSide {
    justify-content: flex-end;
    width: 100%;
  }

  .project-frame-module__-w6uBG__headSide .project-frame-module__-w6uBG__credits {
    text-align: right;
    flex-direction: column;
    align-items: flex-end;
  }

  .project-frame-module__-w6uBG__headSide .project-frame-module__-w6uBG__credits strong {
    font-size: 14px;
    line-height: 20px;
  }

  .project-frame-module__-w6uBG__topUpShort {
    display: inline;
  }

  .project-frame-module__-w6uBG__topUpLong {
    display: none;
  }
}

/* [project]/web/components/ci/projects/project-workspace.css [app-client] (css) */
.ps-dialog, .project-workspace {
  --ps-bg: var(--cicd-surface-elevated);
  --ps-surface: var(--cicd-surface-l2);
  --ps-line: var(--cicd-border-l1);
  --ps-muted: var(--cicd-fg-secondary);
  --ps-fg: var(--cicd-fg-primary);
  --c-fg: var(--cicd-fg-primary);
  --c-muted: var(--cicd-fg-secondary);
  --c-border: var(--cicd-border-l2);
  --c-success: var(--cicd-fg-success);
  color: var(--ps-fg);
  color-scheme: var(--cicd-scheme);
  font: 400 14px/1.5 var(--g-font, sans-serif);
}

.ps-dialog *, .project-workspace * {
  box-sizing: border-box;
}

.ps-dialog {
  border: 1px solid var(--cicd-border-l3);
  background: var(--ps-bg);
  border-radius: 18px;
  width: min(560px, 100vw - 48px);
  max-width: none;
  height: fit-content;
  max-height: min(680px, 100dvh - 48px);
  margin: auto;
  padding: 0;
  position: fixed;
  inset: 0;
  box-shadow: 0 28px 90px #0008;
}

.ps-dialog[open] {
  flex-direction: column;
  display: flex;
}

.ps-dialog::backdrop {
  background: var(--cicd-overlay);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.ps-head {
  border-bottom: 1px solid var(--cicd-border-l1);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  display: flex;
}

.ps-heading {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.ps-heading > div {
  min-width: 0;
}

.ps-heading-icon {
  border: 1px solid var(--ps-line);
  background: var(--ps-surface);
  border-radius: 12px;
  flex-shrink: 0;
  place-items: center;
  width: 42px;
  height: 42px;
  display: grid;
}

.ps-head h2 {
  letter-spacing: -.5px;
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
}

.ps-heading p {
  color: var(--ps-muted);
  overflow-wrap: anywhere;
  margin: 4px 0 0;
  font-size: 13px;
}

.ps-dialog button, .project-workspace button, .project-workspace .ci-btn {
  border: 1px solid var(--ps-line);
  color: inherit;
  font: inherit;
  cursor: pointer;
  background: none;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  text-decoration: none;
  display: inline-flex;
}

.ps-dialog button:hover, .project-workspace button:hover, .project-workspace .ci-btn:hover {
  background: var(--cicd-button-ghost-hover);
}

.ps-dialog button:disabled, .project-workspace button:disabled {
  opacity: .45;
  cursor: default;
}

.ps-dialog .ps-primary, .project-workspace .ps-primary {
  background: var(--cicd-button-filled);
  color: var(--cicd-fg-invert);
  border-color: var(--cicd-button-filled);
  font-weight: 600;
}

.ps-dialog .ps-primary:hover, .project-workspace .ps-primary:hover {
  background: var(--cicd-button-filled-hover);
}

.ps-dialog .ps-close {
  width: 30px;
  height: 30px;
  color: var(--ps-muted);
  border: 0;
  flex-shrink: 0;
  padding: 0;
}

.ps-dialog :is(button, input, select, summary):focus-visible, .project-workspace :is(button, a):focus-visible {
  outline: 2px solid var(--cicd-accent-border);
  outline-offset: 3px;
}

.ps-steps {
  border-bottom: 1px solid var(--cicd-border-l1);
  flex-shrink: 0;
  gap: 18px;
  margin: 0;
  padding: 16px 24px;
  list-style: none;
  display: flex;
}

.ps-steps li {
  color: var(--cicd-fg-secondary);
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.ps-steps li > span {
  border: 1px solid var(--ps-line);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  width: 24px;
  height: 24px;
  font-size: 11px;
  display: grid;
}

.ps-steps [aria-current="step"] {
  color: var(--ps-fg);
}

.ps-steps [aria-current="step"] > span {
  color: var(--cicd-fg-primary);
  background: var(--cicd-surface-l1);
  border-color: var(--cicd-border-l3);
}

.ps-steps .is-done {
  color: var(--cicd-fg-secondary);
}

.ps-body {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--cicd-border-l3) transparent;
  flex: auto;
  min-height: 0;
  padding: 24px;
  overflow-y: auto;
}

.ps-selection-body {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ps-selection-body > * {
  flex-shrink: 0;
}

.ps-selection-body > :is(.ps-error, .ps-notice) {
  margin: 0;
}

.ps-footer {
  border-top: 1px solid var(--cicd-border-l1);
  background: var(--cicd-button-ghost-surface-hover);
  flex-shrink: 0;
  align-items: center;
  gap: 12px;
  padding: 18px 24px;
  display: flex;
}

.ps-footer > span {
  min-width: 0;
  color: var(--ps-muted);
  text-align: right;
  flex: 1;
  font-size: 12px;
}

.ps-footer button {
  flex-shrink: 0;
}

.ps-footer .ps-primary > span {
  margin-left: 4px;
}

.ps-loading, .ps-empty {
  text-align: center;
  color: var(--ps-muted);
  padding: 60px 16px;
}

.ps-connect {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 24px 0;
  display: flex;
}

.ps-github {
  background: var(--ps-surface);
  border: 1px solid var(--ps-line);
  border-radius: 16px;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 4px;
  display: grid;
}

.ps-connect h3 {
  letter-spacing: -.6px;
  margin: 0;
  font-size: 20px;
}

.ps-connect p {
  color: var(--ps-muted);
  max-width: 340px;
  margin: 0 0 8px;
}

.ps-connect .ps-field {
  text-align: left;
  width: 100%;
  max-width: 340px;
}

.ps-section-title h3 {
  margin: 0 0 4px;
  font-size: 19px;
  font-weight: 600;
}

.ps-section-title p {
  color: var(--ps-muted);
  margin: 0 0 24px;
  font-size: 12px;
}

.ps-dialog input:not([type="checkbox"]):not([type="radio"]), .ps-dialog select {
  border: 1px solid var(--ps-line);
  background: var(--cicd-surface-elevated);
  color: inherit;
  font: inherit;
  border-radius: 10px;
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
}

.ps-selection-intro {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ps-selection-intro > p {
  color: var(--ps-muted);
  margin: 0;
  font-size: 14px;
}

.ps-dialog .ps-add-account {
  color: var(--ps-fg);
  border: 0;
  padding: 0;
  font-size: 12px;
}

.ps-search {
  border: 1px solid var(--cicd-border-l3);
  background: var(--cicd-surface-l1);
  color: var(--ps-muted);
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0 12px;
  display: flex;
}

.ps-search > svg {
  flex-shrink: 0;
}

.ps-search:focus-within {
  border-color: var(--cicd-ring);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--cicd-fg-primary) 3.53%, transparent);
}

.ps-dialog .ps-search input[type="search"] {
  color: var(--ps-fg);
  background: none;
  border: 0;
  border-radius: 0;
  outline: none;
  flex: 1;
  padding: 11px 0;
}

.ps-repo-selection {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 16px;
  margin: 0;
  display: flex;
}

.ps-repo-selection label {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.ps-repo-selection > span {
  color: var(--ps-muted);
  font-size: 12px;
}

.ps-selection-body > .ps-repository-list {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--cicd-border-l3) transparent;
  flex: 0 auto;
  min-height: 72px;
  max-height: 320px;
  overflow-y: auto;
}

.ps-repository-list.is-single-account:has(.ps-repo) {
  border: 1px solid var(--ps-line);
  border-radius: 12px;
}

.ps-repository-list.is-single-account .ps-repos {
  border: 0;
  border-radius: 0;
}

.ps-account-repos {
  margin: 0;
}

.ps-account-repos + .ps-account-repos {
  margin-top: 20px;
}

.ps-account-repos > .ps-repo-selection {
  margin-bottom: 10px;
}

.ps-account-repos h4 {
  overflow-wrap: anywhere;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.ps-account-repos .ps-repo-selection > label {
  color: var(--ps-muted);
  font-size: 12px;
}

.ps-repos {
  border: 1px solid var(--ps-line);
  border-radius: 12px;
  overflow: hidden;
}

.ps-repos:empty {
  display: none;
}

.ps-repo {
  cursor: pointer;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 12px 14px;
  display: flex;
}

.ps-repo + .ps-repo {
  border-top: 1px solid var(--ps-line);
}

.ps-repo:hover {
  background: var(--cicd-button-ghost-hover);
}

.ps-repo:has(input:checked) {
  background: var(--cicd-button-ghost-surface-hover);
}

.ps-repo > span {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.ps-repo strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 500;
}

.ps-repo small {
  color: var(--ps-muted);
  overflow-wrap: anywhere;
  font-size: 12px;
}

.ps-repo em {
  color: var(--cicd-fg-secondary);
  background: var(--cicd-button-ghost-hover);
  border: 1px solid var(--cicd-border-l2);
  border-radius: 5px;
  flex-shrink: 0;
  padding: 1px 6px;
  font-size: 11px;
  font-style: normal;
  line-height: 1.6;
}

.ps-repo.is-connected:has(input:not(:checked)) em {
  color: var(--cicd-fg-success);
  background: var(--cicd-success-soft);
  border-color: var(--cicd-success-border);
}

.ps-repo input, .ps-check input, .ps-repo-selection input {
  accent-color: var(--cicd-fg-primary);
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin: 0;
}

.ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"] {
  --ps-checkmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3.25 8.25 3 3 6.5-6.5' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  appearance: none;
  border: 1px solid var(--cicd-border-l3);
  background: var(--cicd-surface-elevated);
  width: 18px;
  height: 18px;
  color: var(--cicd-fg-primary);
  cursor: pointer;
  border-radius: 5px;
  place-items: center;
  padding: 0;
  transition: background-color .14s, border-color .14s, box-shadow .14s;
  display: inline-grid;
  box-shadow: inset 0 1px 2px #0002;
}

.ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:after {
  content: "";
  width: 14px;
  height: 14px;
  -webkit-mask: var(--ps-checkmark) center / contain no-repeat;
  -webkit-mask: var(--ps-checkmark) center / contain no-repeat;
  mask: var(--ps-checkmark) center / contain no-repeat;
  opacity: 0;
  background: currentColor;
  transition: opacity .12s, transform .12s;
  transform: scale(.75);
}

.ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:hover:not(:disabled) {
  border-color: var(--cicd-border-l3);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cicd-fg-primary) 2.75%, transparent);
}

.ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:is(:checked, :indeterminate) {
  background: var(--cicd-surface-elevated);
  border-color: var(--cicd-border-l3);
  box-shadow: 0 1px 3px #0002;
}

.ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:is(:checked, :indeterminate):after {
  opacity: 1;
  transform: scale(1);
}

.ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:indeterminate:after {
  border-radius: 2px;
  width: 8px;
  height: 2px;
  -webkit-mask: none;
  mask: none;
}

.ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:disabled {
  cursor: default;
}

.ps-dialog .ps-repo.is-connected input[type="checkbox"]:checked {
  color: var(--cicd-fg-secondary);
  background: var(--cicd-surface-elevated);
  border-color: var(--cicd-border-l3);
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"], .ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:after {
    transition: none;
  }
}

@media (forced-colors: active) {
  .ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"], .ps-dialog .ps-repo.is-connected input[type="checkbox"]:checked {
    appearance: auto;
    box-shadow: none;
    background: none;
    border: 0;
  }

  .ps-dialog :is(.ps-repo, .ps-repo-selection) input[type="checkbox"]:after {
    display: none;
  }
}

.ps-repo-selection label:has(input:disabled) {
  cursor: default;
}

.ps-repository-list .ps-empty {
  border: 1px dashed var(--ps-line);
  border-radius: 12px;
  padding: 24px 16px;
}

.ps-repository-list .ps-empty p {
  margin: 10px 0 0;
  font-size: 13px;
}

.ps-selection-help {
  color: var(--ps-muted);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 6px 12px;
  font-size: 12px;
  display: flex;
}

.ps-dialog .ps-selection-help .ps-text-button {
  white-space: nowrap;
  padding: 0;
  font-size: 12px;
}

.ps-dialog .ps-text-button {
  color: var(--ps-muted);
  text-align: left;
  border: 0;
  padding: 16px 0 0;
  font-size: 12px;
}

.ps-error {
  border: 1px solid var(--cicd-danger-border);
  background: var(--cicd-button-danger-fill);
  color: var(--cicd-fg-danger);
  border-radius: 10px;
  margin: 0 0 20px;
  padding: 14px;
}

.ps-error button {
  margin-left: 12px;
}

.ps-notice {
  border: 1px solid var(--ps-line);
  background: var(--ps-surface);
  overflow-wrap: anywhere;
  border-radius: 12px;
  margin: 0 0 22px;
  padding: 16px;
  font-size: 13px;
}

.ps-notice p {
  color: var(--ps-muted);
  margin: 6px 0 0;
}

.ps-field {
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  margin-bottom: 18px;
  font-size: 12px;
  display: flex;
}

.ps-fields {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ps-check {
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  display: flex;
}

.ps-yaml {
  border: 1px solid var(--ps-line);
  border-radius: 12px;
  margin: 20px 0;
  overflow: hidden;
}

.ps-yaml summary {
  cursor: pointer;
  padding: 14px;
  font-size: 13px;
}

.ps-yaml summary span {
  color: var(--ps-muted);
  margin-top: 4px;
  font: 11px / 1.5 monospace;
  display: block;
}

.ps-yaml pre {
  border-top: 1px solid var(--ps-line);
  background: var(--cicd-surface-base);
  max-height: 300px;
  font: 12px/1.7 var(--g-mono, monospace);
  margin: 0;
  padding: 16px;
  overflow: auto;
}

.ps-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.ps-actions > span, .ps-caption {
  color: var(--ps-muted);
  font-size: 12px;
  line-height: 1.8;
}

.ps-sr {
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.project-workspace {
  width: 100%;
  max-width: 1400px;
  min-height: 100dvh;
  margin: 0 auto;
  padding: 42px clamp(24px, 5vw, 80px);
}

.ps-workspace-nav {
  color: var(--ps-muted);
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
  font-size: 12px;
  display: flex;
}

.ps-workspace-nav > span {
  overflow-wrap: anywhere;
}

.ps-workspace-nav b {
  color: var(--ps-fg);
  font-weight: 500;
}

.ps-projects-head, .project-workspace .app-page-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 30px;
  display: flex;
}

.ps-projects-head h1, .project-workspace .app-page-head h1 {
  letter-spacing: -.8px;
  margin: 0;
  font-size: 28px;
  font-weight: 600;
}

.ps-projects-head p, .project-workspace .app-page-sub {
  color: var(--ps-muted);
  margin: 8px 0 0;
}

.project-workspace .app-page-meta {
  color: var(--ps-muted);
  margin-bottom: 8px;
  font-size: 12px;
  display: block;
}

.project-workspace .ci-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.ps-project-grid {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 16px;
  display: grid;
}

.ps-account-folder {
  margin-bottom: 30px;
}

.ps-account-folder > header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.project-workspace .ps-account-folder-toggle {
  border: 0;
  justify-content: flex-start;
  min-width: 0;
  max-width: 100%;
  padding: 8px 0;
}

.ps-account-folder-toggle strong {
  overflow-wrap: anywhere;
  font-size: 17px;
  font-weight: 500;
}

.ps-account-folder-toggle > span {
  color: var(--ps-muted);
  font-size: 13px;
}

.ps-account-folder-toggle svg {
  flex-shrink: 0;
}

.ps-account-folder > [hidden] {
  display: none;
}

.project-workspace .ps-project-card {
  text-align: left;
  background: var(--ps-bg);
  border-radius: 14px;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
  padding: 24px;
  display: flex;
}

.ps-project-card strong {
  overflow-wrap: anywhere;
  font-size: 17px;
  font-weight: 500;
}

.ps-project-card span {
  color: var(--ps-muted);
  overflow-wrap: anywhere;
  font-size: 12px;
}

.ps-project-card small {
  color: var(--ps-muted);
  padding-top: 18px;
  font-size: 11px;
}

.project-workspace .ci-row {
  border: 1px solid var(--ps-line);
  border-radius: 10px;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
  padding: 20px 16px;
  display: flex;
  position: relative;
}

.project-workspace .ci-row-main {
  flex: 1;
  min-width: 0;
}

.project-workspace .ci-row-title {
  overflow-wrap: anywhere;
  font-weight: 500;
}

.project-workspace .ci-row-sub, .project-workspace .ci-row-metas {
  color: var(--ps-muted);
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 5px;
  font-size: 11px;
  display: flex;
}

.project-workspace .ci-row-sub b {
  font-weight: 400;
}

.project-workspace .ci-meta {
  align-items: center;
  gap: 5px;
  display: inline-flex;
}

.project-workspace .ci-row-status-label {
  display: none;
}

.project-workspace .ci-row-branch {
  color: var(--ps-muted);
  font-size: 11px;
}

.project-workspace .ci-row-link {
  border-radius: inherit;
  position: absolute;
  inset: 0;
}

.project-workspace .ci-row a {
  color: inherit;
}

@media (max-width: 767px) {
  .ps-dialog {
    border-radius: 16px;
    width: min(560px, 100vw - 24px);
    max-height: calc(100dvh - 24px);
  }

  .ps-head {
    padding: 20px;
  }

  .ps-steps {
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
  }

  .ps-steps li {
    gap: 5px;
    font-size: 10px;
  }

  .ps-steps li > span {
    width: 21px;
    height: 21px;
  }

  .ps-body {
    padding: 20px;
  }

  .ps-footer {
    padding: 16px 20px max(16px, env(safe-area-inset-bottom));
    gap: 8px;
  }

  .ps-footer > span {
    font-size: 12px;
  }

  .ps-footer[data-step="2"] > span {
    display: none;
  }

  .ps-footer button {
    font-size: 12px;
  }

  .ps-fields {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .project-workspace {
    padding: 70px 20px 28px;
  }

  .ps-projects-head, .project-workspace .app-page-head {
    flex-direction: column;
  }

  .project-workspace .ci-row-side {
    display: none;
  }

  .ps-repo {
    gap: 10px;
    padding: 14px 12px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .ps-dialog[open] {
    animation: .18s ease-out ps-enter;
  }

  @keyframes ps-enter {
    from {
      opacity: 0;
      transform: translateY(8px)scale(.98);
    }

    to {
      opacity: 1;
      transform: translateY(0)scale(1);
    }
  }
}

.ps-connected {
  gap: 18px;
  min-width: 0;
  display: grid;
}

.ps-connected-head {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.ps-connected-head .ps-github {
  border: 1px solid var(--ps-line);
  background: var(--ps-surface);
  border-radius: 12px;
  flex-shrink: 0;
  place-items: center;
  width: 40px;
  height: 40px;
  margin: 0;
  display: grid;
}

.ps-connected-head h3 {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.ps-dialog .ps-connected button {
  border-radius: 6px;
  padding: 3px 10px;
  font-size: 12px;
}

/* [project]/web/components/layout/language-dialog.css [app-client] (css) */
.language-dialog {
  border: 1px solid var(--cicd-border-l1);
  background: var(--cicd-surface-base);
  width: 400px;
  max-width: calc(100vw - 32px);
  height: 500px;
  max-height: calc(100dvh - 48px);
  color: var(--cicd-fg-primary);
  box-shadow: var(--cicd-shadow);
  color-scheme: var(--cicd-scheme);
  font: 400 14px/20px var(--g-font);
  border-radius: 16px;
  margin: auto;
  padding: 0;
  overflow: hidden;
}

:root[data-theme="light"] .language-dialog {
  border-color: #0000;
}

.language-dialog[open] {
  flex-direction: column;
  display: flex;
}

.language-dialog::backdrop {
  background: var(--cicd-overlay);
}

.language-dialog-search {
  border-bottom: 2px solid var(--cicd-border-l1);
  height: 44px;
  color: var(--cicd-fg-tertiary);
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  display: flex;
}

.language-dialog-search > svg {
  flex-shrink: 0;
}

.language-dialog .language-dialog-search input {
  width: 100%;
  min-width: 0;
  height: 40px;
  min-height: 0;
  color: var(--cicd-fg-primary);
  font: inherit;
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  outline: none;
  padding: 12px 0;
}

.language-dialog .language-dialog-search input:focus-visible {
  box-shadow: none;
  outline: none;
}

.language-dialog-search input::placeholder {
  color: var(--cicd-fg-tertiary);
}

.language-dialog-list {
  overscroll-behavior: contain;
  padding: 4px;
  overflow-y: auto;
}

.language-dialog-option {
  width: calc(100% - 8px);
  min-height: 45px;
  color: var(--cicd-fg-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin: 0 4px;
  padding: 12px 10px;
  display: flex;
}

.language-dialog-option.is-active, .language-dialog-option:hover {
  background: var(--cicd-button-ghost-hover);
}

.language-dialog-option:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: -2px;
}

.language-dialog-muted {
  color: var(--cicd-fg-tertiary);
}

.language-dialog-empty {
  color: var(--cicd-fg-tertiary);
  text-align: center;
  padding: 16px;
}

/* [project]/web/components/layout/help-pages.css [app-client] (css) */
.help-document-shell {
  background: var(--ui-bg);
  min-height: 100dvh;
  color: var(--ui-fg);
  font-family: var(--g-font);
  font-size: 15px;
  line-height: 1.7;
}

.help-document-shell *, .help-document-shell :before, .help-document-shell :after {
  box-sizing: border-box;
}

.help-document-shell a {
  color: inherit;
}

.help-document-shell a:focus-visible, .help-document-shell button:focus-visible {
  outline: 2px solid var(--ui-fg);
  outline-offset: 4px;
}

.help-document-header {
  z-index: 45;
  border-bottom: 1px solid var(--ui-border-subtle);
  background: var(--ui-bg);
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-height: 72px;
  padding: 12px 32px;
  display: flex;
  position: sticky;
  top: 0;
}

.help-document-brand {
  white-space: nowrap;
  align-items: center;
  gap: 9px;
  font-size: 20px;
  font-weight: 650;
  text-decoration: none;
  display: inline-flex;
}

.help-document-brand svg {
  flex: none;
}

.help-document-brand-divider {
  color: var(--ui-fg-subtlest);
  margin-inline: 6px;
  font-size: 18px;
  font-weight: 400;
}

.help-document-brand-label {
  color: var(--ui-fg-subtle);
  font-size: 14px;
  font-weight: 450;
}

.help-document-header nav {
  align-items: center;
  gap: 28px;
  display: flex;
}

.help-document-header nav a {
  color: var(--ui-fg-subtlest);
  white-space: nowrap;
  padding-block: 8px;
  font-size: 14px;
  text-decoration: none;
}

.help-document-header nav a:hover, .help-document-header nav a[aria-current="page"] {
  color: var(--ui-fg);
}

.help-document-header-actions {
  align-items: center;
  gap: 20px;
  display: flex;
}

.help-document-language {
  gap: 2px;
  display: flex;
}

.help-document-language button {
  min-width: 32px;
  min-height: 32px;
  color: var(--ui-fg-subtlest);
  font: 500 12px/1 var(--g-font);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 4px;
}

.help-document-language button[aria-pressed="true"] {
  color: var(--ui-fg);
  background: var(--ui-brand);
}

.help-document-return {
  background: var(--ui-brand-bold);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 12px;
  min-height: 36px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 550;
  text-decoration: none;
  display: inline-flex;
  color: var(--ui-fg-inverse) !important;
}

.help-document-content {
  outline: none;
}

.help-document-eyebrow {
  color: var(--ui-fg-subtlest);
  margin: 0 0 14px;
  font-size: 13px;
}

.help-document-shell .help-document-title {
  letter-spacing: -.04em;
  color: var(--ui-fg);
  margin: 0 0 20px;
  font-size: clamp(30px, 3.5vw, 44px);
  font-weight: 550;
  line-height: 1.25;
}

.help-document-lead {
  max-width: 68ch;
  color: var(--ui-fg-subtle);
  margin: 0;
  line-height: 1.85;
}

.help-faq-layout {
  grid-template-columns: 210px minmax(0, 720px) 180px;
  justify-content: center;
  align-items: start;
  gap: 56px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 48px 32px 96px;
  display: grid;
}

.help-faq-sidebar, .help-faq-toc {
  scrollbar-width: thin;
  max-height: calc(100dvh - 140px);
  position: sticky;
  top: 110px;
  overflow-y: auto;
}

.help-faq-sidebar h2, .help-faq-toc h2 {
  color: var(--ui-fg);
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
}

.help-faq-sidebar nav, .help-faq-toc nav {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.help-faq-sidebar a {
  color: var(--ui-fg-subtlest);
  border-radius: 8px;
  margin-left: -12px;
  padding: 8px 12px;
  font-size: 14px;
  text-decoration: none;
  display: block;
}

.help-faq-sidebar a:hover, .help-faq-sidebar a:focus-visible {
  color: var(--ui-fg);
  background: var(--ui-brand-subtle);
}

.help-faq-resources {
  border-top: 1px solid var(--ui-border-subtle);
  margin-top: 36px;
  padding-top: 24px;
}

.help-faq-main {
  min-width: 0;
}

.help-faq-head {
  border-bottom: 1px solid var(--ui-border-subtle);
  padding-bottom: 40px;
}

.help-faq-section {
  padding-top: 40px;
  scroll-margin-top: 104px;
}

.help-faq-section + .help-faq-section {
  border-top: 1px solid var(--ui-border-subtle);
  margin-top: 36px;
}

.help-faq-section > h2 {
  color: var(--ui-fg);
  letter-spacing: -.025em;
  margin: 0 0 28px;
  font-size: 25px;
  font-weight: 550;
  line-height: 1.4;
}

.help-faq-question {
  margin-top: 28px;
  scroll-margin-top: 104px;
}

.help-faq-question h3 {
  letter-spacing: -.02em;
  color: var(--ui-fg);
  margin: 0 0 12px;
  font-size: 19px;
  font-weight: 550;
  line-height: 1.55;
}

.help-faq-question h3 a, .help-faq-section > h2 a {
  text-decoration: none;
}

.help-faq-question h3 a:hover, .help-faq-section > h2 a:hover {
  text-underline-offset: 5px;
  text-decoration: underline;
}

.help-faq-question p {
  color: var(--ui-fg-subtle);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
}

.help-faq-toc a {
  border-left: 1px solid var(--ui-border-subtle);
  color: var(--ui-fg-subtlest);
  padding: 6px 0 6px 12px;
  font-size: 12px;
  line-height: 1.6;
  text-decoration: none;
  display: block;
}

.help-faq-toc a:hover {
  color: var(--ui-fg);
  border-color: var(--ui-fg-subtle);
}

.help-faq-contact {
  border-top: 1px solid var(--ui-border-subtle);
  color: var(--ui-fg-subtlest);
  margin-top: 48px;
  padding-top: 24px;
  font-size: 14px;
}

.help-faq-contact a {
  color: var(--ui-fg);
  text-underline-offset: 4px;
}

.help-release-page {
  width: min(928px, 100%);
  min-height: calc(100dvh - 250px);
  margin: 0 auto;
  padding: 56px 32px 96px;
}

.help-release-head {
  border-bottom: 1px solid var(--ui-border-subtle);
  padding-bottom: 32px;
}

.help-release-head .help-document-title {
  margin-bottom: 12px;
  font-size: 32px;
}

.help-release-head-links {
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
  display: flex;
}

.help-release-head-links a {
  color: var(--ui-fg-subtlest);
  font-size: 13px;
  text-decoration: none;
}

.help-release-head-links a:hover {
  color: var(--ui-fg);
}

.help-release-group {
  border-bottom: 1px solid var(--ui-border-subtle);
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 24px;
  padding: 36px 0;
  display: grid;
}

.help-release-date {
  color: var(--ui-fg-subtlest);
  font-variant-numeric: tabular-nums;
  padding-top: 4px;
  font-size: 13px;
}

.help-release-entries {
  flex-direction: column;
  gap: 40px;
  min-width: 0;
  display: flex;
}

.help-release-entry {
  scroll-margin-top: 104px;
}

.help-release-entry-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
  display: flex;
}

.help-release-entry h2 {
  color: var(--ui-fg);
  letter-spacing: -.025em;
  margin: 0;
  font-size: 22px;
  font-weight: 550;
  line-height: 1.45;
}

.help-release-entry h2 a {
  text-decoration: none;
}

.help-release-entry h2 a:hover {
  text-underline-offset: 5px;
  text-decoration: underline;
}

.help-release-kind {
  border: 1px solid var(--ui-border);
  color: var(--ui-fg-subtlest);
  border-radius: 5px;
  flex-shrink: 0;
  margin-top: 4px;
  padding: 2px 7px;
  font-size: 11px;
  line-height: 18px;
  display: inline-flex;
}

.help-release-entry p {
  color: var(--ui-fg-subtle);
  overflow-wrap: anywhere;
  margin: 0;
  line-height: 1.9;
}

.help-release-label {
  color: var(--ui-fg-subtlest);
  margin-top: 14px;
  font-size: 12px;
  display: inline-block;
}

.help-release-empty {
  color: var(--ui-fg-subtlest);
  padding: 40px 0;
}

.help-release-pager {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 36px;
  font-size: 13px;
  display: flex;
}

.help-release-pager a {
  padding: 8px 0;
  text-decoration: none;
}

.help-release-pager span {
  color: var(--ui-fg-subtlest);
}

.help-document-shell .p-footer.p-footer-micro {
  background: var(--ui-bg);
  border-color: var(--ui-border-subtle);
  padding: 24px 32px;
}

.help-document-shell .p-footer-micro-inner {
  gap: 10px;
}

.help-document-shell .p-footer-micro-links a {
  min-height: 28px;
  font-size: 12px;
}

@media (max-width: 1150px) {
  .help-faq-layout {
    grid-template-columns: 180px minmax(0, 720px);
    gap: 36px;
  }

  .help-faq-toc {
    display: none;
  }
}

@media (max-width: 760px) {
  .help-document-header {
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 12px 20px;
  }

  .help-document-brand {
    font-size: 18px;
  }

  .help-document-brand-divider, .help-document-brand-label {
    display: none;
  }

  .help-document-header nav {
    order: 3;
    gap: 24px;
    width: 100%;
  }

  .help-document-header-actions {
    gap: 10px;
  }

  .help-document-return {
    padding-inline: 12px;
    font-size: 12px;
  }

  .help-faq-layout {
    padding: 28px 20px 64px;
    display: block;
  }

  .help-faq-sidebar {
    border-bottom: 1px solid var(--ui-border-subtle);
    max-height: none;
    margin-bottom: 28px;
    padding-bottom: 20px;
    position: static;
  }

  .help-faq-sidebar nav {
    flex-flow: wrap;
    gap: 4px 16px;
  }

  .help-faq-sidebar a {
    margin: 0;
    padding: 4px 0;
    font-size: 13px;
  }

  .help-faq-resources {
    display: none;
  }

  .help-faq-head {
    padding-bottom: 28px;
  }

  .help-faq-section, .help-faq-question, .help-release-entry {
    scroll-margin-top: 140px;
  }

  .help-release-page {
    padding: 36px 20px 64px;
  }

  .help-release-head .help-document-title {
    font-size: 28px;
  }

  .help-release-group {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding-block: 28px;
  }

  .help-release-entry-head {
    flex-wrap: wrap;
    gap: 8px;
  }

  .help-release-entry h2 {
    font-size: 21px;
  }
}

/* [project]/web/components/account/settings-tooltip.css [app-client] (css) */
.settings-tooltip {
  vertical-align: middle;
  flex-shrink: 0;
  margin-left: 6px;
  display: inline-flex;
}

.settings-tooltip-trigger {
  width: 24px;
  height: 24px;
  min-height: 0;
  color: var(--asm-muted, var(--cicd-fg-secondary));
  cursor: help;
  background: none;
  border: 0;
  border-radius: 6px;
  flex-shrink: 0;
  place-items: center;
  padding: 4px;
  display: inline-grid;
}

.settings-tooltip-trigger:hover, .settings-tooltip-trigger:focus-visible {
  background: var(--asm-hover, var(--cicd-button-ghost-hover));
  color: var(--asm-fg, var(--cicd-fg-primary));
}

.settings-tooltip-trigger:focus-visible {
  outline: 2px solid var(--asm-fg, var(--cicd-ring));
  outline-offset: 2px;
}

.settings-tooltip-content {
  z-index: 300;
  box-sizing: border-box;
  border: 1px solid var(--asm-line-strong, var(--cicd-border-l3));
  background: var(--asm-panel, var(--cicd-popover));
  width: max-content;
  max-width: min(300px, 100vw - 16px);
  max-height: calc(100dvh - 16px);
  color: var(--asm-fg, var(--cicd-fg-primary));
  font: 400 12px/19px var(--g-font);
  letter-spacing: normal;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  border-radius: 12px;
  margin: 0;
  padding: 12px 14px;
  position: fixed;
  inset: auto;
  overflow: auto;
  box-shadow: 0 6px 24px #0000003d;
}

.settings-tooltip-content:popover-open {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.settings-tooltip-title {
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
  display: block;
}

.settings-tooltip-body {
  color: var(--asm-muted, var(--cicd-fg-secondary));
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.settings-tooltip-row {
  justify-content: space-between;
  gap: 16px;
  display: flex;
}

.settings-tooltip-row > b {
  color: var(--asm-fg, var(--cicd-fg-primary));
  flex-shrink: 0;
  font-weight: 500;
}

.settings-tooltip-row > span {
  text-align: right;
}

.credit-note-with-info {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.credit-note-with-info .settings-tooltip {
  margin-left: 0;
}

/* [project]/web/components/account/credit-dialogs.css [app-client] (css) */
.credit-dialog {
  background: var(--asm-panel, var(--cicd-surface-elevated));
  width: min(420px, 100vw - 32px);
  max-width: 450px;
  max-height: calc(100dvh - 32px);
  color: var(--asm-fg, var(--cicd-fg-primary));
  font: 400 14px/20px var(--g-font);
  border: 0;
  border-radius: 24px;
  margin: auto;
  padding: 0;
  position: fixed;
  inset: 0;
  overflow: auto;
  box-shadow: 0 20px 48px #0000004d;
}

.credit-dialog.is-add {
  width: min(450px, 100vw - 32px);
}

.credit-dialog.is-methods {
  border-radius: 16px;
  width: min(448px, 100vw - 32px);
}

.credit-dialog::backdrop {
  background: var(--cicd-overlay);
}

.credit-dialog > header {
  padding: 24px 56px 16px 24px;
}

.credit-dialog > header > h2 {
  letter-spacing: -.2px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.credit-dialog-close {
  width: 32px;
  height: 32px;
  color: var(--asm-muted, var(--cicd-fg-secondary));
  font: 24px/1 var(--g-font);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 12px;
  place-items: center;
  display: grid;
  position: absolute;
  top: 16px;
  right: 16px;
}

.credit-dialog-close:hover {
  background: var(--asm-hover, var(--cicd-button-ghost-hover));
}

.credit-dialog-body {
  padding: 0 24px 24px;
}

.credit-purchase-form {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.credit-quantity {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.credit-presets {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.credit-presets button {
  border: 1px solid var(--asm-line, var(--cicd-border-l3));
  min-height: 38px;
  color: var(--asm-muted, var(--cicd-fg-secondary));
  font: inherit;
  cursor: pointer;
  background: none;
  border-radius: 8px;
  margin: 1px;
  padding: 8px;
}

.credit-presets button[aria-pressed="true"] {
  border: 2px solid var(--asm-fg, var(--cicd-border-l3));
  color: var(--asm-fg, var(--cicd-fg-primary));
  margin: 0;
}

.credit-amount-field {
  border: 1px solid var(--asm-line, var(--cicd-border-l3));
  border-radius: 12px;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  display: flex;
}

.credit-amount-field:focus-within {
  box-shadow: inset 0 0 0 1px var(--asm-fg, color-mix(in srgb, var(--cicd-fg-primary) 100%, transparent));
}

.credit-amount-field input {
  width: 100%;
  min-width: 0;
  height: 100%;
  color: inherit;
  font: 400 16px/24px var(--g-font);
  font-variant-numeric: tabular-nums;
  background: none;
  border: 0;
  outline: none;
  padding: 0 8px 0 0;
}

.credit-amount-field span {
  color: var(--asm-muted, var(--cicd-fg-secondary));
  flex-shrink: 0;
  font-size: 14px;
}

.credit-payment-row, .credit-total {
  align-items: center;
  gap: 12px;
  display: flex;
}

.credit-payment-row > strong {
  font-size: 14px;
  font-weight: 500;
}

.credit-method-picker {
  align-items: center;
  gap: 8px;
  margin-left: auto;
  display: flex;
  position: relative;
}

.credit-current-card {
  font-variant-numeric: tabular-nums;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  display: inline-flex;
}

.credit-method-edit {
  width: 20px;
  height: 20px;
  color: var(--asm-muted, var(--cicd-fg-secondary));
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  place-items: center;
  padding: 0;
  display: grid;
}

.credit-method-edit:hover, .credit-method-edit[aria-expanded="true"] {
  background: var(--asm-hover, var(--cicd-button-ghost-hover));
  color: var(--asm-fg, var(--cicd-fg-primary));
}

.credit-method-menu {
  z-index: 2;
  border: 1px solid var(--asm-line, var(--cicd-border-l3));
  background: var(--asm-panel, var(--cicd-popover));
  width: 256px;
  max-width: calc(100vw - 80px);
  max-height: 240px;
  color: var(--asm-fg, var(--cicd-fg-primary));
  -webkit-backdrop-filter: blur(32px);
  backdrop-filter: blur(32px);
  border-radius: 16px;
  padding: 6px;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  overflow: auto;
  box-shadow: 0 8px 24px #0003;
}

.credit-method-menu button {
  width: 100%;
  min-height: 32px;
  color: inherit;
  font: 400 14px/20px var(--g-font);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  display: flex;
}

.credit-method-menu button:hover:not(:disabled), .credit-method-menu button:focus-visible {
  background: var(--asm-hover, var(--cicd-button-ghost-hover));
  outline: none;
}

.credit-method-menu svg {
  flex-shrink: 0;
}

.credit-method-menu button > svg {
  width: 20px;
}

.credit-method-check {
  margin-left: auto;
  display: inline-flex;
}

.credit-method-separator {
  background: var(--asm-line, var(--cicd-surface-l2));
  height: 1px;
  margin: 6px;
}

.credit-total {
  justify-content: space-between;
  padding-top: 4px;
}

.credit-total strong {
  font-variant-numeric: tabular-nums;
  font-size: 16px;
  font-weight: 500;
}

.credit-primary, .credit-secondary {
  border: 1px solid var(--asm-line-strong, var(--cicd-border-l3));
  width: 100%;
  min-height: 40px;
  font: 500 14px/20px var(--g-font);
  cursor: pointer;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  display: inline-flex;
}

.credit-primary {
  background: var(--asm-fg, var(--cicd-button-filled));
  color: var(--asm-panel, var(--cicd-fg-invert));
  font-weight: 600;
}

.credit-secondary {
  color: inherit;
  background: none;
}

.credit-primary:hover, .credit-secondary:hover {
  opacity: .9;
}

.credit-dialog button:disabled {
  opacity: .5;
  cursor: default;
}

.credit-note, .credit-consent {
  color: var(--asm-muted, var(--cicd-fg-secondary));
  margin: 0;
  font-size: 12px;
  line-height: 18px;
}

.credit-consent {
  text-align: center;
  margin-top: -8px;
}

.credit-error {
  color: var(--cicd-fg-danger);
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.credit-methods, .credit-add-method {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.credit-methods ul {
  flex-direction: column;
  gap: 16px;
  max-height: 50dvh;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  overflow: auto;
}

.credit-methods li {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.credit-methods li > div {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.credit-methods strong {
  font-size: 14px;
  font-weight: 500;
}

.credit-methods li span {
  color: var(--asm-muted, var(--cicd-fg-secondary));
  font-size: 14px;
}

.credit-secure-card {
  border: 1px solid var(--asm-line, var(--cicd-border-l3));
  text-align: center;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  min-height: 260px;
  padding: 24px;
  display: flex;
}

.credit-secure-card > svg {
  width: 48px;
  height: 36px;
  color: var(--asm-muted, var(--cicd-fg-secondary));
}

.credit-secure-card p {
  color: var(--asm-muted, var(--cicd-fg-secondary));
  margin: 0;
  font-size: 14px;
  line-height: 22px;
}

.subscription-portal {
  --asm-panel: var(--cicd-surface-elevated);
  --asm-fg: var(--cicd-fg-primary);
  --asm-muted: var(--cicd-fg-secondary);
  --asm-line: var(--cicd-border-l1);
  --asm-line-strong: var(--cicd-border-l2);
  --asm-hover: var(--cicd-button-ghost-hover);
  background: var(--cicd-surface-elevated);
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  color: var(--cicd-fg-primary);
  font: 400 16px/24px var(--g-font);
  color-scheme: var(--cicd-scheme);
  border: 0;
  grid-template-columns: 40% minmax(0, 60%);
  margin: 0;
  padding: 0;
  display: grid;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.subscription-portal:not([open]) {
  display: none;
}

.subscription-portal-brand {
  background: var(--cicd-surface-base);
  color: var(--cicd-fg-primary);
  flex-direction: column;
  justify-content: space-between;
  padding: 64px 48px 40px;
  display: flex;
}

.subscription-brand {
  color: var(--cicd-fg-primary);
  font: 600 24px/28px var(--g-font);
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: 8px;
  padding: 0;
  display: inline-flex;
}

.subscription-portal-brand h1 {
  max-width: 280px;
  margin: 48px 0 24px;
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
}

.subscription-return {
  color: var(--cicd-fg-primary);
  font: 500 14px/20px var(--g-font);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

.subscription-portal-brand footer {
  color: var(--cicd-fg-secondary);
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  line-height: 16px;
  display: flex;
}

.subscription-portal-brand footer a {
  color: inherit;
}

.subscription-portal-main {
  padding: 64px 48px 100px;
  overflow: auto;
  box-shadow: -15px 0 30px #0000001a;
}

.subscription-portal-main > section {
  border-bottom: 1px solid var(--cicd-border-l3);
  margin-bottom: 32px;
  padding-bottom: 32px;
}

.subscription-portal-main h2 {
  margin: 0 0 24px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.subscription-current {
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
  display: flex;
}

.subscription-current > div {
  min-width: 0;
}

.subscription-current h3 {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
}

.subscription-price {
  font-size: 24px;
  font-weight: 700;
  line-height: 28px;
  display: block;
}

.subscription-current p {
  margin: 16px 0;
  font-size: 14px;
  line-height: 20px;
}

.subscription-outline {
  border: 1px solid var(--cicd-border-l3);
  width: 233px;
  max-width: 100%;
  min-height: 44px;
  color: var(--cicd-fg-secondary);
  background: var(--cicd-surface-elevated);
  font: 500 16px/24px var(--g-font);
  cursor: pointer;
  border-radius: 6px;
  flex-shrink: 0;
  padding: 8px 16px;
  box-shadow: 0 1px 3px #3c42571a;
}

.subscription-portal button:disabled {
  opacity: .5;
  cursor: default;
}

.subscription-card-line {
  align-items: center;
  gap: 12px;
  display: flex;
}

.subscription-card-line > svg {
  flex-shrink: 0;
}

.subscription-card-line > div {
  flex: 1;
  min-width: 0;
}

.subscription-card-line strong {
  font-size: 16px;
  font-weight: 400;
  display: block;
}

.subscription-card-line small {
  color: var(--cicd-fg-secondary);
  font-size: 12px;
  display: block;
}

.subscription-card-line > button {
  color: var(--cicd-fg-secondary);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 4px 8px;
}

.subscription-card-list {
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  max-width: 464px;
  display: flex;
}

.subscription-card-list > .subscription-card-line {
  width: 100%;
}

.subscription-text-button {
  color: var(--cicd-fg-secondary);
  font: 500 14px/20px var(--g-font);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

.subscription-information {
  flex-direction: column;
  gap: 16px;
  margin: 0 0 16px;
  display: flex;
}

.subscription-information > div {
  gap: 8px;
  display: flex;
}

.subscription-information dt {
  width: 160px;
  color: var(--cicd-fg-secondary);
  flex-shrink: 0;
}

.subscription-information dd {
  overflow-wrap: anywhere;
  margin: 0;
}

.subscription-profile-editor {
  margin-top: 20px;
}

.subscription-invoices {
  flex-direction: column;
  margin-bottom: 16px;
  display: flex;
}

.subscription-invoices > button {
  border: 0;
  border-bottom: 1px solid var(--cicd-border-l3);
  color: inherit;
  font: 400 14px/20px var(--g-font);
  text-align: left;
  cursor: pointer;
  background: none;
  grid-template-columns: 64px 100px auto minmax(0, 1fr) 16px;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  display: grid;
}

.subscription-invoices > button:hover {
  background: var(--cicd-button-ghost-hover);
}

.subscription-invoices strong {
  font-size: inherit;
  font-variant-numeric: tabular-nums;
  font-weight: 400;
}

.subscription-paid {
  background: var(--cicd-surface-l1);
  color: var(--cicd-fg-success);
  white-space: nowrap;
  border-radius: 5px;
  padding: 2px 8px;
  font-size: 12px;
}

.subscription-muted {
  color: var(--cicd-fg-secondary);
}

@media (max-width: 1100px) {
  .subscription-current {
    flex-direction: column;
    gap: 20px;
  }

  .subscription-portal-main {
    padding-inline: 32px;
  }
}

@media (max-width: 767px) {
  .subscription-portal {
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-columns: 1fr;
  }

  .subscription-portal-brand {
    padding: 20px 24px;
  }

  .subscription-portal-brand > div {
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    display: flex;
  }

  .subscription-portal-brand h1, .subscription-portal-brand footer {
    display: none;
  }

  .subscription-portal-main {
    padding: 32px 24px 48px;
  }

  .subscription-information dt {
    width: 80px;
  }

  .subscription-invoices > button {
    grid-template-columns: 48px 1fr auto 16px;
    gap: 8px;
  }

  .subscription-invoices > button > span:nth-last-child(2) {
    color: var(--cicd-fg-secondary);
    grid-area: 2 / 2 / auto / 4;
  }
}

/* [project]/web/components/account/account-settings-modal.css [app-client] (css) */
.asm-root .join-legal-modal {
  border: 1px solid var(--asm-line);
  border-radius: var(--asm-radius);
  background: var(--asm-panel);
  width: min(720px, 100vw - 32px);
  max-width: none;
  height: min(640px, 100dvh - 48px);
  max-height: none;
  color: var(--asm-fg);
  box-shadow: var(--cicd-shadow-lg);
  color-scheme: var(--cicd-scheme);
  margin: auto;
  padding: 0;
  overflow: hidden;
}

.asm-root .join-legal-modal::backdrop {
  background: var(--cicd-overlay);
}

.asm-root .join-legal-modal-shell {
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  display: grid;
}

.asm-root .join-legal-modal-head {
  border-bottom: 1px solid var(--asm-line);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  display: flex;
}

.asm-root .join-legal-modal-head h2 {
  color: var(--asm-strong);
  margin: 0;
  font-size: 18px;
  line-height: 26px;
}

.asm-root .join-legal-close {
  width: 36px;
  height: 36px;
  color: var(--asm-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  flex: 0 0 36px;
  place-items: center;
  margin: 0;
  padding: 0;
  display: grid;
}

.asm-root .join-legal-close:hover {
  background: var(--asm-hover);
  color: var(--asm-strong);
}

.asm-root .join-legal-close:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: 2px;
}

.asm-root .join-legal-modal-body {
  overscroll-behavior: contain;
  color: var(--asm-muted);
  padding: 20px;
  font-size: 14px;
  line-height: 1.8;
  overflow-y: auto;
}

.asm-root .join-legal-modal-body h3 {
  color: var(--asm-strong);
  margin: 24px 0 8px;
  font-size: 15px;
  line-height: 1.6;
}

.asm-root .join-legal-modal-body h3:first-child {
  margin-top: 0;
}

.asm-root .join-legal-modal-body p {
  margin: 0;
}

.asm-root {
  --asm-radius: 20px;
  --asm-line: var(--cicd-border-l1);
  --asm-line-strong: var(--cicd-border-l2);
  --asm-panel: var(--cicd-surface-elevated);
  --asm-muted: var(--cicd-fg-secondary);
  --asm-faint: var(--cicd-fg-tertiary);
  --asm-fg: var(--cicd-fg-primary);
  --asm-strong: var(--cicd-fg-primary);
  --asm-hover: var(--cicd-button-ghost-hover);
  --asm-active: var(--cicd-button-ghost-active);
  --asm-danger: var(--cicd-fg-danger);
  --asm-backdrop: var(--cicd-overlay);
  z-index: 200;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  color-scheme: var(--cicd-scheme);
  font: 400 14px/20px var(--g-font);
  text-align: left;
  background: var(--asm-backdrop);
  border: 0;
  place-items: center;
  margin: 0;
  padding: 20px;
  animation: .18s both asm-fade-in;
  display: grid;
  position: fixed;
  inset: 0;
}

@keyframes asm-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes asm-rise-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.asm-dialog {
  border: 1px solid var(--asm-line);
  border-radius: var(--asm-radius);
  background: var(--asm-panel);
  width: min(800px, 100%);
  height: min(640px, 100dvh - 40px);
  max-height: calc(100dvh - 40px);
  color: var(--asm-fg);
  flex-direction: column;
  animation: .22s cubic-bezier(.22, 1, .36, 1) both asm-rise-in;
  display: flex;
  overflow: hidden;
  box-shadow: 0 24px 64px #0000006b;
}

.asm-head {
  background: var(--asm-panel);
  flex: 0 0 48px;
  justify-content: space-between;
  align-items: center;
  padding: 8px 16px;
  display: flex;
}

.asm-head-copy h1 {
  letter-spacing: -.02em;
  color: var(--asm-strong);
  margin: 0;
  font-size: 15px;
  font-weight: 650;
}

.asm-head-copy p {
  color: var(--asm-muted);
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.asm-close {
  width: 32px;
  height: 32px;
  color: var(--asm-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  flex: none;
  place-items: center;
  display: grid;
}

.asm-close:hover {
  background: var(--asm-hover);
  color: var(--asm-strong);
}

.asm-close:focus-visible {
  outline: 2px solid var(--asm-strong);
  outline-offset: 2px;
}

.asm-body {
  flex: auto;
  grid-template-columns: 200px minmax(0, 1fr);
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.asm-nav {
  border-right: 1px solid var(--asm-line);
  flex-direction: column;
  gap: 0;
  padding: 0 10px 10px;
  display: flex;
  overflow: auto;
}

.asm-nav-btn {
  width: 100%;
  min-height: 32px;
  color: var(--asm-fg);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  font-size: 14px;
  line-height: 20px;
  display: flex;
}

.asm-nav-btn[aria-selected="true"] {
  background: var(--asm-hover);
  color: var(--asm-strong);
  font-weight: 400;
}

.asm-nav-btn:hover:not([aria-selected="true"]) {
  background: var(--asm-hover);
  color: var(--asm-strong);
}

.asm-nav-btn:focus-visible {
  outline: 2px solid var(--asm-strong);
  outline-offset: 1px;
}

.asm-nav-btn.is-danger {
  color: var(--asm-danger);
  margin-top: auto;
}

.asm-nav-btn.is-danger[aria-selected="true"] {
  background: var(--cicd-button-danger-fill);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cicd-fg-primary) 35%, transparent);
  color: var(--cicd-fg-danger);
}

.asm-panel {
  outline: none;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.asm-panel-stack {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.asm-panel-stack + .asm-panel-stack {
  margin-top: 18px;
}

.asm-panel-stack > .app-account-card, .asm-panel-stack > .ci-account-card, .asm-panel-stack > .ci-section {
  margin: 0;
}

.asm-section-title {
  color: var(--asm-strong);
  flex-shrink: 0;
  margin: 0;
  padding: 24px 20px 8px;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.asm-lead {
  color: var(--asm-muted);
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.55;
}

.asm-field-block {
  max-width: 420px;
}

.asm-counted {
  position: relative;
}

.asm-counted .ci-input {
  width: 100%;
  padding-right: 64px;
}

.asm-counter {
  color: var(--asm-faint);
  pointer-events: none;
  font-size: 12px;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

.asm-record {
  color: var(--asm-faint);
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.55;
}

.asm-links {
  border: 1px solid var(--asm-line);
  background: var(--cicd-button-ghost-surface-hover);
  border-radius: 10px;
  flex-direction: column;
  gap: 0;
  display: flex;
  overflow: hidden;
}

.asm-link-row {
  border-bottom: 1px solid var(--asm-line);
  min-height: 52px;
  color: inherit;
  background: none;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  text-decoration: none;
  display: flex;
}

.asm-link-row:last-child {
  border-bottom: 0;
}

.asm-link-row:hover {
  background: var(--asm-hover);
}

.asm-link-row strong {
  color: var(--asm-strong);
  font-size: 13px;
  font-weight: 600;
  display: block;
}

.asm-link-row span {
  color: var(--asm-muted);
  margin-top: 2px;
  font-size: 12px;
  display: block;
}

.asm-link-row svg {
  color: var(--asm-faint);
  flex: none;
}

.asm-pref-card {
  border: 1px solid var(--asm-line);
  background: var(--cicd-button-ghost-surface-hover);
  border-radius: 10px;
  max-width: 420px;
  padding: 14px;
}

.asm-pref-head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.asm-pref-head strong {
  color: var(--asm-strong);
  font-size: 13px;
  font-weight: 600;
}

.asm-pref-head p {
  color: var(--asm-muted);
  margin: 3px 0 0;
  font-size: 12px;
}

.asm-banner {
  border-bottom: 1px solid var(--asm-line);
  background: var(--cicd-button-danger-fill);
  color: var(--asm-fg);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px 14px;
  font-size: 13px;
  display: flex;
}

.asm-danger-card {
  border: 1px solid var(--cicd-danger-border);
  background: var(--cicd-button-danger-fill);
  border-radius: 10px;
  max-width: 520px;
  padding: 14px;
}

.asm-danger-card h3 {
  color: var(--asm-strong);
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 650;
}

.asm-danger-card p {
  color: var(--asm-muted);
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.55;
}

.asm-danger-btn {
  border-color: var(--asm-line-strong) !important;
  color: var(--asm-danger) !important;
}

.asm-delete-dialog {
  border: 1px solid var(--asm-line-strong);
  background: var(--asm-panel);
  width: min(440px, 100% - 32px);
  color: var(--asm-fg);
  border-radius: 14px;
  padding: 0;
}

.asm-delete-dialog::backdrop {
  background: var(--cicd-overlay);
}

.asm-delete-form {
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  display: flex;
}

.asm-delete-form h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 650;
}

.asm-delete-form p {
  color: var(--asm-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.asm-delete-ack {
  color: var(--asm-muted);
  cursor: pointer;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  line-height: 1.5;
  display: flex;
}

.asm-delete-actions {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
  display: flex;
}

.asm-state {
  color: var(--asm-muted);
  font-size: 13px;
}

.asm-root .ci-btn-primary {
  background: var(--cicd-button-filled);
  color: var(--cicd-fg-invert);
  border-color: var(--cicd-button-filled);
}

.asm-root .ci-btn-primary:hover:not(:disabled) {
  background: var(--cicd-button-ghost-hover);
  border-color: var(--cicd-border-l3);
}

.ci-main-modal-host {
  min-height: min(60dvh, 640px);
  position: relative;
}

.asm-root:not([open]) {
  display: none;
}

.asm-root::backdrop {
  background: none;
}

.asm-dialog *, .asm-delete-dialog * {
  box-sizing: border-box;
}

.asm-nav-group {
  flex-direction: column;
  gap: 1px;
  display: flex;
}

.asm-nav-group-label {
  min-height: 22px;
  color: var(--asm-faint);
  padding: 12px 8px 4px;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
}

.asm-nav-btn svg {
  color: var(--asm-muted);
  flex: 0 0 16px;
}

.asm-nav-btn[aria-selected="true"] svg {
  color: currentColor;
}

.asm-nav-btn span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.asm-panel-content {
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  flex: 1;
  min-height: 0;
  padding: 8px 20px 16px;
  overflow: auto;
}

.asm-panel-content:hover, .asm-panel-content:focus-within {
  scrollbar-color: var(--asm-line-strong) transparent;
}

.asm-account-overview {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.asm-setting-row {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 32px;
  display: flex;
}

.asm-setting-row > div {
  min-width: 0;
}

.asm-setting-row strong {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  display: block;
}

.asm-setting-row > div > span {
  color: var(--asm-muted);
  margin-top: 3px;
  font-size: 12px;
  line-height: 18px;
  display: block;
}

.asm-github-accounts {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.asm-github-accounts > .asm-setting-row {
  flex-wrap: wrap;
  gap: 10px;
}

.asm-github-accounts .asm-button {
  white-space: nowrap;
}

.asm-github-list {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.asm-github-list > li {
  padding: 10px 12px;
}

.asm-github-list > li + li {
  border-top: 1px solid var(--asm-line);
}

.asm-github-list .asm-plan-identity {
  flex: 1;
  min-width: 0;
}

.asm-github-list .asm-plan-mark {
  flex-shrink: 0;
}

.asm-github-list strong {
  overflow-wrap: anywhere;
  min-width: 0;
}

.asm-github-status {
  color: var(--asm-muted);
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: inline-flex;
}

.asm-github-status:before {
  content: "";
  background: #81b89b;
  border-radius: 50%;
  width: 5px;
  height: 5px;
}

.asm-github-note {
  color: var(--asm-muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
}

.asm-github-connect {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  display: flex;
}

.asm-github-connect > label {
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  display: flex;
}

.asm-github-connect select {
  border: 1px solid var(--asm-line-strong);
  background: var(--asm-panel);
  width: 100%;
  min-width: 0;
  color: var(--asm-fg);
  font: inherit;
  border-radius: 8px;
  padding: 8px 10px;
}

.asm-github-connect-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.asm-github-connect-actions .asm-button {
  white-space: normal;
  max-width: 100%;
}

.asm-github-error {
  color: #df9c9c;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.asm-account-identity {
  align-items: center;
  gap: 8px;
  display: flex;
}

.asm-account-identity > div {
  min-width: 0;
}

.asm-account-identity strong, .asm-account-identity > div > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.asm-account-identity > div > span {
  color: var(--asm-muted);
  font-size: 12px;
}

.asm-avatar {
  width: 36px;
  height: 36px;
  color: var(--asm-strong);
  background: var(--asm-active);
  border-radius: 50%;
  flex: 0 0 36px;
  place-items: center;
  display: grid;
  overflow: hidden;
}

.asm-avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.asm-account-identity > .asm-avatar {
  color: var(--asm-strong);
  margin-top: 0;
  font-size: 14px;
  display: grid;
}

.asm-root .ci-seg {
  border: 1px solid var(--asm-line-strong);
  border-radius: 12px;
  gap: 2px;
  padding: 3px;
  display: inline-flex;
}

.asm-root .ci-seg button {
  min-height: 26px;
  color: var(--asm-muted);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  padding: 2px 8px;
}

.asm-root .ci-seg button[aria-pressed="true"] {
  background: var(--asm-hover);
  color: var(--asm-strong);
}

.asm-button, .asm-root .ci-btn {
  border: 1px solid var(--asm-line-strong);
  min-height: 32px;
  color: var(--asm-fg);
  font: 500 14px/20px var(--g-font);
  cursor: pointer;
  background: none;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  text-decoration: none;
  display: inline-flex;
}

.asm-button:hover, .asm-root .ci-btn:hover {
  background: var(--asm-hover);
}

.asm-root button:disabled {
  opacity: .5;
  cursor: default;
}

.asm-root button:focus-visible, .asm-root a:focus-visible, .asm-root input:focus-visible {
  outline: 2px solid var(--asm-strong);
  outline-offset: 2px;
}

.asm-divider {
  background: var(--asm-line);
  border: 0;
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  margin: 0;
}

.asm-value {
  border: 1px solid var(--asm-line-strong);
  color: var(--asm-muted);
  border-radius: 12px;
  flex-shrink: 0;
  padding: 5px 10px;
  font-size: 14px;
}

.asm-theme-preview {
  border: 1px solid var(--asm-line);
  background: var(--cicd-surface-base);
  border-radius: 12px;
  height: 160px;
  display: flex;
  overflow: hidden;
}

.asm-theme-preview > span {
  border-right: 1px solid var(--asm-line);
  background: var(--cicd-surface-base);
  width: 25%;
}

.asm-theme-preview > div {
  flex-direction: column;
  flex: 1;
  justify-content: center;
  gap: 12px;
  padding: 24px;
  display: flex;
}

.asm-theme-preview i {
  background: var(--cicd-surface-l2);
  border-radius: 4px;
  height: 10px;
}

.asm-theme-preview i:last-child {
  width: 65%;
}

.asm-data-links {
  margin-bottom: 24px;
}

.asm-root .ci-input, .asm-root .app-account-field input:not([type="checkbox"]) {
  border: 1px solid var(--asm-line-strong);
  width: 100%;
  min-width: 0;
  min-height: 36px;
  color: var(--asm-fg);
  font: inherit;
  background: none;
  border-radius: 10px;
  padding: 7px 10px;
  display: block;
}

.asm-root .asm-counted .ci-input {
  padding-right: 64px;
}

.asm-root .ci-field > label, .asm-root .app-account-field > label {
  color: var(--asm-fg);
  margin-bottom: 6px;
  font-size: 13px;
  display: block;
}

.asm-root small, .asm-root .app-account-lead {
  color: var(--asm-muted);
  font-size: 12px;
}

.asm-root .ci-actions, .asm-root .app-account-card-foot {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  display: flex;
}

.asm-root .app-account-card {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  padding: 14px;
}

.asm-root .ci-account-card-title {
  color: var(--asm-strong);
  margin: 0 0 12px;
  font-size: 14px;
}

.asm-root .app-account-field-grid, .asm-root .app-account-fields {
  gap: 12px;
  display: grid;
}

.asm-root .app-tax-details {
  margin-top: 12px;
}

.asm-root .app-tax-details summary {
  cursor: pointer;
  margin-bottom: 12px;
}

.asm-root .ci-error, .asm-root .app-account-err {
  color: var(--asm-danger);
  font-size: 13px;
}

.asm-root .ci-btn-primary {
  background: var(--cicd-button-filled);
  color: var(--cicd-fg-invert);
}

.asm-root .ci-btn-primary:hover {
  background: var(--cicd-button-filled-hover);
}

.asm-profile-editor {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  padding: 14px;
}

@media (max-width: 639px) {
  .asm-root {
    padding: 12px;
  }

  .asm-dialog {
    border-radius: 16px;
    width: 100%;
    height: calc(100dvh - 24px);
    max-height: none;
  }

  .asm-body {
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-columns: 1fr;
  }

  .asm-nav {
    border-right: 0;
    border-bottom: 1px solid var(--asm-line);
    flex-flow: wrap;
    gap: 6px 8px;
    padding: 4px 10px 10px;
    overflow-x: visible;
  }

  .asm-nav-group {
    display: contents;
  }

  .asm-nav-group-label {
    display: none;
  }

  .asm-nav-btn {
    white-space: nowrap;
    flex: none;
    width: auto;
  }

  .asm-section-title {
    padding: 18px 16px 8px;
  }

  .asm-panel-content {
    padding: 12px 16px 20px;
  }

  .asm-setting-row {
    gap: 10px;
  }

  .asm-account-identity {
    gap: 8px;
  }

  .asm-account-identity strong {
    max-width: 140px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .asm-root, .asm-dialog {
    animation: none;
  }
}

.asm-billing-stack {
  flex-direction: column;
  gap: 28px;
  padding-bottom: 16px;
  display: flex;
}

.asm-billing-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.asm-billing-card {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  min-height: 170px;
  padding: 16px;
  display: flex;
}

.asm-billing-card > div {
  width: 100%;
  min-width: 0;
}

.asm-eyebrow {
  color: var(--asm-muted);
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  display: block;
}

.asm-current-plan {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.asm-current-plan svg {
  flex-shrink: 0;
}

.asm-current-plan h3 {
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
  overflow: hidden;
}

.asm-billing-card p {
  color: var(--asm-muted);
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 20px;
}

.asm-credit-amount {
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
  display: block;
}

.asm-card-meta, .asm-card-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.asm-card-meta {
  color: var(--asm-muted);
  font-size: 14px;
}

.asm-card-meta .asm-button {
  min-height: 26px;
  padding: 2px 8px;
  font-size: 12px;
}

.asm-root .asm-ghost-button {
  color: var(--asm-muted);
  border-color: #0000;
  padding-inline: 4px;
}

.asm-billing-section {
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.asm-billing-section > h3 {
  color: var(--asm-muted);
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  display: flex;
}

.asm-billing-section > h3:not(:has(.asm-info)) {
  padding-left: 16px;
}

.asm-invoice-table {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  overflow-x: auto;
}

.asm-invoice-table table {
  border-collapse: collapse;
  text-align: left;
  width: 100%;
  font-size: 14px;
  line-height: 20px;
}

.asm-invoice-table th {
  padding: 10px 12px;
  font-weight: 500;
}

.asm-invoice-table td {
  border-top: 1px solid var(--asm-line);
  font-variant-numeric: tabular-nums;
  padding: 12px;
}

.asm-invoice-table th:last-child, .asm-invoice-table td:last-child {
  text-align: right;
  width: 40px;
  padding-inline: 6px;
}

.asm-invoice-table .asm-table-empty {
  color: var(--asm-muted);
  text-align: center;
  padding: 24px 12px;
}

.asm-invoice-action {
  position: relative;
}

.asm-invoice-more {
  width: 32px;
  height: 32px;
  color: var(--asm-muted);
  letter-spacing: 1px;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 14px;
  display: inline-flex;
}

.asm-invoice-more:hover, .asm-invoice-more[aria-expanded="true"] {
  background: var(--asm-hover);
}

.asm-invoice-menu {
  z-index: 3;
  border: 1px solid var(--asm-line);
  background: var(--asm-panel);
  border-radius: 12px;
  min-width: 160px;
  padding: 4px;
  position: absolute;
  bottom: calc(100% + 4px);
  right: 0;
  box-shadow: 0 8px 20px #0003;
}

.asm-invoice-menu > * {
  width: 100%;
  color: var(--asm-fg);
  font: inherit;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  padding: 8px 10px;
  text-decoration: none;
  display: block;
}

.asm-invoice-menu > :hover, .asm-invoice-menu > :focus-visible {
  background: var(--asm-hover);
}

.asm-payment-methods {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  padding-inline: 16px;
}

.asm-payment-methods > .asm-setting-row {
  padding-block: 16px;
}

.asm-payment-methods > .asm-setting-row + .asm-setting-row {
  border-top: 1px solid var(--asm-line);
}

.asm-payment-methods .asm-setting-row > div > span, .asm-cancel-row > div > span {
  font-size: 14px;
  line-height: 20px;
}

.asm-cancel-row {
  padding-inline: 16px;
}

.asm-root .asm-danger-btn:hover:not(:disabled) {
  background: var(--cicd-button-danger-fill);
}

.asm-account-delete {
  align-items: center;
}

.asm-account-delete > div {
  max-width: 448px;
}

.asm-account-delete > .asm-button {
  min-width: 48px;
  max-width: 100%;
  margin-left: auto;
}

.asm-plan-identity {
  align-items: center;
  gap: 8px;
  display: flex;
}

.asm-plan-identity > div {
  min-width: 0;
}

.asm-plan-identity > div > span {
  color: var(--asm-muted);
  margin-top: 3px;
  font-size: 12px;
  line-height: 18px;
  display: block;
}

.asm-plan-mark {
  background: var(--asm-hover);
  border-radius: 8px;
  flex: 0 0 32px;
  place-items: center;
  width: 32px;
  height: 32px;
  color: var(--asm-fg) !important;
  margin: 0 !important;
  display: grid !important;
}

.asm-language-label {
  align-items: center;
  gap: 8px;
  display: flex !important;
}

.asm-language-label svg {
  color: var(--asm-muted);
}

.asm-info {
  cursor: help;
  font-size: 14px;
}

.asm-usage-card {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.asm-usage-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.asm-usage-head > span:first-child {
  align-items: baseline;
  gap: 6px;
  display: flex;
}

.asm-usage-head strong {
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.asm-usage-head > span:first-child > span {
  color: var(--asm-muted);
  font-size: 16px;
}

.asm-reset-date {
  color: var(--asm-muted);
  font-size: 14px;
}

.asm-usage-track {
  background: var(--asm-active);
  border-radius: 6px;
  width: 100%;
  height: 20px;
  display: flex;
  overflow: hidden;
}

.asm-usage-track > i {
  background: var(--cicd-accent-soft);
  border-radius: 6px 3px 3px 6px;
  height: 100%;
  transition: width .5s ease-out;
  display: block;
}

.asm-usage-legend {
  color: var(--asm-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  display: flex;
}

.asm-usage-legend > i {
  background: var(--cicd-accent-soft);
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.asm-usage-legend > span {
  color: var(--asm-fg);
  font-variant-numeric: tabular-nums;
}

.asm-extra-credit {
  border: 1px solid var(--asm-line);
  border-radius: 16px;
  flex-direction: column;
  gap: 20px;
  padding: 16px;
  display: flex;
}

.asm-extra-credit .asm-setting-row strong {
  font-size: 16px;
}

.asm-extra-credit .asm-setting-row > div > span {
  font-size: 14px;
  line-height: 20px;
}

.asm-theme-row {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-top: 6px;
  display: flex;
}

.asm-theme-row > strong {
  padding-top: 2px;
  font-size: 14px;
  font-weight: 500;
}

.asm-theme-options {
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.asm-theme-options > button {
  width: 98px;
  min-width: 0;
  color: var(--asm-muted);
  font: 400 12px/16px var(--g-font);
  cursor: pointer;
  background: none;
  border: 0;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 0;
  display: flex;
}

.asm-theme-thumbnail {
  aspect-ratio: 98 / 64;
  border: 1px solid var(--asm-line-strong);
  background: #f9f8f7;
  border-radius: 10px;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.asm-theme-options > button[aria-pressed="true"] .asm-theme-thumbnail {
  outline: 1.5px solid var(--asm-muted);
  outline-offset: 3px;
}

.asm-theme-options > button[aria-pressed="true"] {
  color: var(--asm-fg);
}

.asm-theme-options > button:hover .asm-theme-thumbnail {
  box-shadow: 0 0 0 3px #80808026;
}

.asm-theme-mini-sidebar {
  background: #f5f3f2;
  border-right: 1px solid #0f0d0a0a;
  flex-direction: column;
  gap: 5px;
  width: 24%;
  padding: 12px 4px;
  display: flex;
}

.asm-theme-mini-sidebar i {
  background: #aaa;
  border-radius: 1px;
  width: 100%;
  height: 2px;
  display: block;
}

.asm-theme-mini-content {
  flex-direction: column;
  flex: 1;
  justify-content: center;
  gap: 5px;
  padding: 10px 9px;
  display: flex;
}

.asm-theme-mini-content i {
  background: #d0d0d0;
  border-radius: 2px;
  width: 100%;
  height: 3px;
}

.asm-theme-mini-content b {
  background: #777;
  border-radius: 4px;
  align-self: flex-end;
  width: 35%;
  height: 8px;
}

.asm-theme-thumbnail.is-dark {
  background: #131211;
}

.asm-theme-thumbnail.is-dark .asm-theme-mini-sidebar {
  background: #181716;
  border-color: #fcfcfc0f;
}

.asm-theme-thumbnail.is-dark i {
  background: #555;
}

.asm-theme-thumbnail.is-system {
  background: linear-gradient(90deg, #f9f8f7 50%, #131211 50%);
}

.asm-theme-thumbnail.is-system .asm-theme-mini-content i {
  background: linear-gradient(90deg, #d0d0d0 30%, #555 30%);
}

.asm-switch {
  width: 32px;
  height: 18px;
  box-shadow: inset 0 0 0 1px var(--asm-line-strong);
  background: var(--asm-active);
  cursor: pointer;
  border: 0;
  border-radius: 99px;
  flex-shrink: 0;
  padding: 2px;
}

.asm-switch > span {
  background: var(--cicd-surface-elevated);
  border-radius: 50%;
  width: 14px;
  height: 14px;
  transition: transform .15s;
  display: block;
}

.asm-switch[aria-checked="true"] {
  background: var(--cicd-accent-soft);
}

.asm-switch[aria-checked="true"] > span {
  transform: translateX(14px);
}

@media (max-width: 639px) {
  .asm-billing-cards {
    grid-template-columns: 1fr;
  }

  .asm-theme-row {
    flex-direction: column;
    gap: 12px;
  }

  .asm-theme-options {
    width: 100%;
  }

  .asm-theme-options > button {
    flex: 1;
    max-width: 98px;
  }

  .asm-invoice-table th, .asm-invoice-table td {
    padding-inline: 8px;
    font-size: 12px;
  }

  .asm-cancel-row {
    padding-inline: 0;
  }

  .asm-reset-date {
    width: 100%;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .asm-usage-track > i, .asm-switch > span {
    transition: none;
  }
}

.asm-root .ci-sr {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.asm-account-delete-dialog {
  border: 1px solid var(--asm-line);
  background: var(--asm-panel);
  width: min(448px, 100vw - 32px);
  max-width: 448px;
  max-height: 90dvh;
  font: 400 14px/20px var(--g-font);
  border-radius: 24px;
  outline: none;
  margin: auto;
  padding: 16px;
  position: fixed;
  inset: 0;
  overflow: hidden auto;
  box-shadow: 0 20px 48px #0000004d;
}

.asm-account-delete-dialog[open] {
  animation: .2s ease-out both asm-account-confirm-in;
}

.asm-account-confirm-form {
  flex-direction: column;
  gap: 32px;
  display: flex;
}

.asm-account-confirm-warning {
  color: var(--cicd-fg-invert);
  justify-content: center;
  display: flex;
}

.asm-account-confirm-warning svg {
  width: 32px;
  height: 32px;
}

.asm-account-confirm-copy {
  text-align: center;
  flex-direction: column;
  gap: 16px;
  padding-inline: 16px;
  display: flex;
}

.asm-account-confirm-copy h2 {
  color: var(--asm-fg);
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.asm-account-confirm-copy p {
  color: var(--asm-muted);
  text-wrap: pretty;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.asm-account-confirm-email {
  color: var(--asm-muted);
  flex-direction: column;
  gap: 16px;
  padding-top: 16px;
  font-size: 14px;
  line-height: 20px;
  display: flex;
}

.asm-account-confirm-email strong {
  color: var(--asm-fg);
  overflow-wrap: anywhere;
  font-weight: 600;
}

.asm-account-delete-dialog .ci-input {
  background: var(--g-canvas);
  border-radius: 6px;
  height: 36px;
  min-height: 36px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 20px;
}

.asm-account-delete-dialog .ci-input::placeholder {
  color: var(--asm-muted);
}

.asm-account-delete-dialog .ci-input:focus-visible {
  outline: 2px solid var(--asm-line-strong);
  outline-offset: 0;
}

.asm-account-confirm-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.asm-account-confirm-actions > button {
  min-width: 0;
  height: 32px;
  font: 500 14px/20px var(--g-font);
  cursor: pointer;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  display: inline-flex;
}

.asm-account-confirm-cancel {
  border: 1px solid var(--asm-line-strong);
  color: var(--asm-fg);
  background: none;
}

.asm-account-confirm-cancel:hover:not(:disabled) {
  background: var(--asm-hover);
}

.asm-account-confirm-delete {
  border: 1px solid var(--cicd-button-filled);
  background: var(--cicd-button-filled);
  color: var(--cicd-fg-invert);
}

.asm-account-confirm-delete:hover:not(:disabled) {
  background: var(--cicd-button-danger-fill);
  border-color: var(--cicd-danger-border);
}

.asm-account-confirm-actions > button:disabled {
  opacity: .5;
  cursor: default;
  pointer-events: none;
}

.asm-account-confirm-close {
  width: 20px;
  height: 20px;
  color: var(--asm-muted);
  opacity: .7;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 3px;
  place-items: center;
  padding: 0;
  display: grid;
  position: absolute;
  top: 16px;
  right: 16px;
}

.asm-account-confirm-close svg {
  width: 20px;
  height: 20px;
}

.asm-account-confirm-close:hover:not(:disabled) {
  color: var(--asm-fg);
  opacity: 1;
}

.asm-account-confirm-error {
  color: var(--asm-danger);
  margin: -16px 0 0;
  font-size: 14px;
  line-height: 20px;
}

@keyframes asm-account-confirm-in {
  from {
    opacity: 0;
    transform: scale(.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (min-width: 768px) {
  .asm-dialog {
    transition: translate .15s ease-out, scale .15s ease-out;
  }

  .asm-root[data-delete-open="true"] > .asm-dialog {
    translate: 0 20px;
    scale: .9;
  }
}

@media (max-width: 767px) {
  .asm-account-delete-dialog {
    border-radius: 24px 24px 0 0;
    width: 100%;
    max-width: none;
    margin: 0;
    inset: auto 0 0;
  }

  .asm-account-confirm-copy {
    padding-inline: 0;
  }

  .asm-account-delete-dialog[open] {
    animation-name: asm-account-confirm-sheet-in;
  }

  @keyframes asm-account-confirm-sheet-in {
    from {
      opacity: 0;
      transform: translateY(24px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

@media (pointer: coarse) {
  .asm-account-delete-dialog .ci-input {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .asm-account-delete-dialog[open] {
    animation: none;
  }

  .asm-dialog {
    transition: none;
  }
}

.asm-upgrade-footer {
  border: 1px solid var(--asm-line);
  border-radius: 12px;
  flex-shrink: 0;
  margin-top: 12px;
  overflow: hidden;
}

.asm-upgrade-banner {
  isolation: isolate;
  background: var(--cicd-surface-base);
  width: 100%;
  min-height: 58px;
  color: var(--cicd-fg-primary);
  font: 400 12px/18px var(--g-font);
  text-align: left;
  cursor: pointer;
  border: 0;
  border-radius: 0;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.asm-upgrade-banner:before {
  z-index: -1;
  content: "";
  pointer-events: none;
  background: linear-gradient(100deg, var(--cicd-bg-warning), var(--cicd-accent-soft) 50%, var(--cicd-accent-soft));
  opacity: .16;
  filter: blur(28px);
  position: absolute;
  inset: 8px 12% -48px;
}

.asm-upgrade-banner:hover {
  background: var(--cicd-button-ghost-hover);
}

.asm-upgrade-banner:hover:before {
  opacity: .23;
}

.asm-root .asm-upgrade-banner:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: -4px;
}

.asm-upgrade-copy {
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.asm-upgrade-brand {
  color: var(--cicd-fg-primary);
  flex-shrink: 0;
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.asm-upgrade-brand strong {
  letter-spacing: -.35px;
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
}

.asm-upgrade-brand svg {
  flex-shrink: 0;
}

.asm-upgrade-description {
  min-width: 0;
  color: var(--cicd-fg-secondary);
  text-wrap: pretty;
}

.asm-upgrade-cta {
  border: 1px solid var(--cicd-button-filled);
  background: var(--cicd-button-filled);
  min-height: 32px;
  color: var(--cicd-fg-invert);
  white-space: nowrap;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
  display: inline-flex;
}

@media (max-width: 639px) {
  .asm-upgrade-banner {
    gap: 10px;
    padding: 12px;
  }

  .asm-upgrade-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  .asm-upgrade-brand {
    flex-shrink: 1;
  }

  .asm-upgrade-brand strong {
    overflow-wrap: anywhere;
    font-size: 16px;
    line-height: 22px;
  }

  .asm-upgrade-cta {
    text-align: center;
    white-space: normal;
    max-width: 45%;
  }
}

.asm-scope {
  color: var(--asm-muted, #a29f99);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 6px 12px;
  margin: 0 0 12px;
  font-size: 12.5px;
  display: flex;
}

.asm-scope a {
  color: inherit;
  text-underline-offset: 3px;
  text-decoration: underline;
}

.asm-scope a:hover {
  color: var(--asm-fg, #efeeeb);
}

.asm-inline-link {
  color: var(--cicd-fg-primary);
  font: inherit;
  text-underline-offset: 3px;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 400;
  text-decoration: underline;
}

.asm-inline-link:hover {
  color: var(--asm-muted);
}

.asm-spinner {
  vertical-align: -2px;
  border: 2px solid;
  border-top-color: #0000;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  animation: .8s linear infinite asm-spin;
  display: inline-block;
}

@keyframes asm-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .asm-spinner {
    animation-duration: 2.4s;
  }
}

/* [project]/web/components/layout/cicd-nav.css [app-client] (css) */
.p-public-canvas {
  background: var(--ui-bg);
  min-height: 100dvh;
  color: var(--ui-fg);
}

.p-public-canvas-main {
  outline: none;
  min-height: 100dvh;
}

.p-public-canvas > a.gs-skip {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  pointer-events: none;
  border: 0;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.p-public-canvas > a.gs-skip:focus {
  clip: auto;
  width: auto;
  height: auto;
  min-height: 44px;
  clip-path: var(--xc-clip-btn);
  pointer-events: auto;
  white-space: normal;
  background: var(--ui-glass-strong);
  color: var(--ui-fg);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 0 -1px 0 var(--xc-edge-lo);
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 11px 16px;
  position: fixed;
  left: 16px;
  overflow: visible;
  outline: 2px solid var(--ui-brand-bold) !important;
  outline-offset: 2px !important;
  top: 68px !important;
}

.p-cicd-topbar {
  z-index: 45;
  box-sizing: border-box;
  background: var(--cicd-surface-l1);
  height: 70px;
  font-family: var(--ui-font);
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  padding: 0 28px;
  display: flex;
  position: absolute;
  inset: 0 0 auto;
}

.p-cicd-topbar:after {
  content: "";
  border-top: var(--xc-seam) solid var(--xc-edge-lo);
  border-bottom: var(--xc-seam) solid var(--xc-edge-mid);
  pointer-events: none;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.p-cicd-topbar > * {
  pointer-events: auto;
}

.p-cicd-logo {
  min-width: 0;
  height: 44px;
  color: var(--ui-fg);
  align-items: center;
  gap: 10px;
  text-decoration: none;
  display: inline-flex;
}

.p-cicd-logo > .xc-brand-mark {
  width: 34px;
  height: 34px;
}

.p-cicd-logo .p-logo-word {
  color: var(--ui-fg);
}

.p-cicd-actions {
  align-items: center;
  gap: 8px;
  display: flex;
  position: relative;
}

.p-cicd-actions a {
  height: 36px;
  min-height: 36px;
  color: var(--ui-fg);
  font: 600 13px/1 var(--xc-display);
  letter-spacing: .04em;
  text-transform: uppercase;
  box-sizing: border-box;
  clip-path: var(--xc-clip-btn);
  transition: background-color var(--xc-motion-snap), color var(--xc-motion-snap), transform var(--xc-motion-snap), box-shadow var(--xc-motion-snap);
  border: 0;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  padding: 0 16px;
  text-decoration: none;
  display: inline-flex;
  position: relative;
}

.p-cicd-actions a:active {
  transform: translateY(1px);
}

.p-cicd-ghost {
  color: var(--ui-fg-subtle) !important;
}

.p-cicd-ghost:hover {
  background: var(--ui-brand);
  color: var(--ui-fg) !important;
}

.p-cicd-login {
  box-shadow: inset 0 0 0 1px var(--xc-edge-lo);
  background: none;
}

.p-cicd-login:hover {
  background: var(--ui-glass-strong);
}

.p-cicd-signup {
  background: var(--xc-accent);
  white-space: nowrap;
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 1px 0 0 var(--xc-edge-mid), inset -1px 0 0 var(--xc-edge-lo), inset 0 -2px 0 var(--xc-edge-lo);
  color: var(--xc-on-accent) !important;
}

.p-cicd-signup:hover {
  background: var(--xc-accent-hover);
  color: var(--xc-on-accent) !important;
}

.p-cicd-signup:active {
  background: var(--xc-accent-active);
  box-shadow: inset 0 2px 0 var(--xc-edge-lo), inset 0 -1px 0 var(--xc-edge-mid);
}

.p-public-canvas .p-cicd-actions a:focus-visible {
  outline: 2px solid var(--cicd-fg-primary);
  outline-offset: -5px;
}

.p-public-canvas .p-cicd-actions .p-cicd-signup:focus-visible {
  outline-color: var(--xc-on-accent);
}

@media (max-width: 479px) {
  .p-cicd-topbar {
    height: 66px;
    padding: 0 14px;
  }

  .p-cicd-logo {
    gap: 7px;
  }

  .p-cicd-logo .xc-wordmark {
    font-size: 21px;
  }

  .p-cicd-logo > .xc-brand-mark {
    width: 28px;
    height: 28px;
  }

  .p-cicd-actions {
    gap: 2px;
  }

  .p-cicd-actions a {
    padding: 0 10px;
  }
}

.p-logo {
  height: 28px;
  color: var(--cicd-fg-primary);
  align-items: center;
  gap: 8px;
  text-decoration: none;
  display: inline-flex;
}

.p-logo svg {
  flex-shrink: 0;
  display: block;
}

.p-logo-word {
  font-family: var(--xc-display);
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--cicd-fg-primary);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.p-public-sidebar.gs-shell {
  min-height: 100dvh;
}

.p-project-status {
  background: var(--gs-muted, var(--cicd-surface-l2));
  border-radius: 0;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  display: inline-block;
}

.p-project-status[data-status="success"] {
  background: var(--cicd-success-soft);
}

.p-project-status[data-status="failure"], .p-project-status[data-status="rejected"] {
  background: var(--cicd-button-danger-fill);
}

.p-project-status[data-status="running"], .p-project-status[data-status="queued"] {
  background: var(--cicd-bg-warning);
}

.p-public-sidebar .gs-main {
  min-height: calc(100dvh - var(--gs-topbar, 56px));
  outline: none;
  flex-direction: column;
  display: flex;
}

.p-public-sidebar .gs-workspace-bar {
  border-bottom-color: var(--cicd-border-l1);
}

.p-sidebar-login {
  width: 100%;
  min-width: 0;
  clip-path: var(--xc-clip-btn);
  background: var(--cicd-surface-inset);
  color: inherit;
  cursor: pointer;
  transition: background-color var(--xc-motion-snap);
  border: 0;
  border-radius: 0;
  padding: 0;
  text-decoration: none;
  display: block;
}

.p-sidebar-login:hover {
  background: var(--cicd-button-ghost-hover);
}

.p-sidebar-login .gs-profile-trigger {
  pointer-events: none;
}

.p-sidebar-auth-slot {
  flex-shrink: 0;
  height: 48px;
}

.p-sidebar-contact {
  min-height: 44px;
  clip-path: var(--xc-clip-btn);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 1px 0 0 var(--xc-edge-mid), inset -1px 0 0 var(--xc-edge-lo), inset 0 -2px 0 var(--xc-edge-lo);
  background: var(--cicd-surface-l2);
  color: var(--cicd-fg-primary);
  font: 600 13px/1 var(--xc-display);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--xc-motion-snap), color var(--xc-motion-snap);
  border: 0;
  border-radius: 0;
  align-items: center;
  padding: 0 14px;
  text-decoration: none;
  display: inline-flex;
}

.p-sidebar-contact:hover {
  background: var(--cicd-surface-l2-active);
  color: var(--cicd-fg-primary);
}

.p-sidebar-logout-error {
  color: var(--gs-danger, var(--cicd-fg-danger));
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.landing .p-public-sidebar .gs-main > :not(.p-footer) {
  flex: 1 0 auto;
}

.p-footer {
  box-sizing: border-box;
  width: 100%;
  font-family: var(--ui-font);
  letter-spacing: -.02em;
  margin-top: auto;
}

.p-footer a {
  text-decoration: none;
}

.p-footer-inner {
  flex-direction: column;
  gap: 48px;
  display: flex;
}

.p-footer-banner {
  height: 148px;
  clip-path: var(--xc-clip-plate);
  --xc-chamfer: var(--xc-chamfer-lg);
  background: var(--cicd-surface-inset);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 1px 0 0 var(--xc-edge-mid), inset -1px 0 0 var(--xc-edge-lo), inset 0 -1px 0 var(--xc-edge-lo);
  color: var(--cicd-fg-primary);
  border: 0;
  border-radius: 0;
  justify-content: space-between;
  align-items: center;
  padding: 40px 80px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.p-footer-banner-circle {
  width: 480px;
  height: 480px;
  clip-path: var(--xc-clip-plate-all);
  --xc-chamfer: 96px;
  background: var(--cicd-button-ghost-hover);
  transition: transform var(--xc-motion-slow);
  border-radius: 0;
  position: absolute;
  top: 50%;
  right: -100px;
  transform: translateY(-50%)rotate(45deg);
}

.p-footer-banner:hover .p-footer-banner-circle {
  transform: translateY(-50%)rotate(45deg)translateX(-4px);
}

.p-footer-banner-text {
  z-index: 1;
  flex-direction: column;
  gap: 8px;
  display: flex;
  position: relative;
}

.p-footer-banner-eyebrow {
  letter-spacing: -.02em;
  color: var(--cicd-fg-secondary);
  font-size: 12px;
  font-weight: 600;
}

.p-footer-banner-title {
  color: var(--cicd-fg-primary);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}

.p-footer-banner-cta {
  z-index: 1;
  height: 44px;
  clip-path: var(--xc-clip-btn);
  background: var(--xc-accent);
  color: var(--xc-on-accent);
  font: 600 13px/1 var(--xc-display);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 0 -2px 0 var(--xc-edge-lo);
  border: 0;
  border-radius: 0;
  align-items: center;
  gap: 8px;
  padding: 12px 12px 12px 20px;
  display: inline-flex;
  position: relative;
}

.p-footer-hr {
  border: 0;
  border-top: 1px solid var(--cicd-border-l1);
  margin: 0;
}

.p-footer-cols {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
  margin-top: 24px;
  padding: 0 8px;
  display: flex;
}

.p-footer-linkgroups {
  flex-wrap: wrap;
  gap: 16px;
  display: flex;
}

.p-footer-col {
  flex-direction: column;
  gap: 24px;
  width: 150px;
  display: flex;
}

.p-footer-col-head {
  align-items: center;
  gap: 4px;
  font-size: 14px;
  line-height: 18.2px;
  display: flex;
}

.p-footer-col-en {
  color: var(--cicd-fg-primary);
  font-weight: 600;
}

.p-footer-col-ko {
  color: var(--cicd-fg-secondary);
  opacity: 1;
  font-weight: 400;
}

.p-footer-links {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.p-footer-links a {
  color: var(--cicd-fg-secondary);
  font-size: 12px;
  line-height: 15.6px;
}

.p-footer-links a:hover {
  color: var(--cicd-fg-primary);
}

.p-footer-legal {
  flex-direction: column;
  flex: 300px;
  align-items: flex-end;
  gap: 16px;
  max-width: 400px;
  margin-left: auto;
  display: flex;
}

.p-footer-legal-links {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px 16px;
  display: flex;
}

.p-footer-legal-links a {
  color: var(--cicd-fg-primary);
  font-size: 14px;
  font-weight: 600;
  line-height: 18.2px;
}

.p-footer-legal-links a:hover {
  color: var(--cicd-fg-secondary);
}

.p-footer-company {
  color: var(--cicd-fg-secondary);
  text-align: right;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 4px 12px;
  font-size: 12px;
  line-height: 15.6px;
  display: flex;
}

.p-footer-copy {
  width: 100%;
  padding-top: 4px;
}

@media (max-width: 1100px) {
  .p-footer {
    padding: 56px 20px;
  }

  .p-footer-banner {
    padding: 32px 28px;
  }

  .p-footer-banner-cta {
    display: none;
  }

  .p-footer-legal {
    align-items: flex-start;
  }

  .p-footer-legal-links, .p-footer-company {
    text-align: left;
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .p-public-sidebar .p-footer {
    padding-inline: 20px;
  }
}

.p-footer.p-footer-micro {
  background: var(--cicd-surface-inset);
  border-top: var(--xc-seam) solid var(--xc-edge-lo);
  box-shadow: inset 0 1px 0 var(--xc-edge-mid);
  color: var(--cicd-fg-secondary);
  padding: 32px 24px 40px;
  position: relative;
}

.p-footer-micro a {
  color: inherit;
  transition: color var(--xc-motion-fast);
}

.p-footer-micro a:hover {
  color: var(--cicd-fg-primary);
}

.p-footer-micro-inner {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 880px;
  margin: 0 auto;
  display: flex;
}

.p-footer-micro-links {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.p-footer-micro-links a, .landing .p-footer.p-footer-micro .p-footer-micro-links a {
  min-height: 44px;
  color: var(--cicd-fg-primary);
  font: 500 12px/1.4 var(--xc-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  align-items: center;
  display: inline-flex;
}

.p-footer-micro-company {
  color: var(--cicd-fg-secondary);
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 10px;
  font-size: 11px;
  line-height: 1.5;
  display: flex;
}

.p-footer-micro-copy {
  width: 100%;
  font: 500 11px/1.4 var(--xc-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding-top: 8px;
}

@media (max-width: 720px) {
  .p-footer.p-footer-micro {
    padding: 28px 16px 32px;
  }
}

.p-cicd-settings {
  align-items: center;
  display: flex;
  position: relative;
}

.p-cicd-settings-btn {
  width: 36px;
  height: 36px;
  clip-path: var(--xc-clip-btn);
  color: var(--ui-fg-subtle);
  cursor: pointer;
  transition: background-color var(--xc-motion-snap), color var(--xc-motion-snap);
  background: none;
  border: none;
  border-radius: 0;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.p-cicd-settings-btn:hover, .p-cicd-settings-btn[aria-expanded="true"] {
  background: var(--ui-brand);
  color: var(--ui-fg);
}

.p-cicd-settings-popover {
  z-index: 150;
  width: 208px;
  clip-path: var(--xc-clip-plate);
  background: var(--cicd-surface-elevated);
  color: var(--ui-fg);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 1px 0 0 var(--xc-edge-mid), inset -1px 0 0 var(--xc-edge-lo), inset 0 -1px 0 var(--xc-edge-lo);
  box-sizing: border-box;
  letter-spacing: -.154px;
  border: 0;
  border-radius: 0;
  outline: none;
  flex-direction: column;
  gap: 8px;
  padding: 6px;
  font-size: 14px;
  display: flex;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
}

.p-cicd-theme-row {
  gap: 8px;
  height: 40px;
  display: flex;
}

.p-cicd-theme-btn {
  height: 40px;
  min-height: 0;
  clip-path: var(--xc-clip-btn);
  color: var(--ui-fg-subtle);
  cursor: pointer;
  transition: background-color var(--xc-motion-snap), box-shadow var(--xc-motion-snap);
  background: none;
  border: 0;
  border-radius: 0;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 8px;
  display: flex;
}

.p-cicd-theme-btn:hover {
  background: var(--ui-brand);
}

.p-cicd-theme-btn[aria-checked="true"] {
  background: var(--cicd-surface-l2-active);
  color: var(--ui-fg);
  box-shadow: inset 0 2px 0 var(--xc-edge-lo), inset 0 -1px 0 var(--xc-edge-mid);
}

.p-cicd-popover-item {
  width: 100%;
  height: 32px;
  min-height: 32px;
  clip-path: var(--xc-clip-btn);
  color: var(--ui-fg);
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color var(--xc-motion-snap);
  background: none;
  border: 0;
  border-radius: 0;
  justify-content: flex-start;
  align-items: center;
  gap: 14px;
  padding: 3px 8px;
  line-height: 20px;
  display: flex;
}

.p-cicd-popover-item > svg {
  color: var(--ui-fg-subtle);
  flex-shrink: 0;
}

.p-cicd-popover-item:hover, .p-cicd-popover-item:focus-visible {
  background: var(--ui-brand);
}

.p-cicd-settings button:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: -2px;
}

.p-public-canvas {
  color-scheme: var(--cicd-scheme);
}

.p-public-canvas[data-guest-theme="light"] {
  color-scheme: var(--cicd-scheme);
  --ui-bg: var(--cicd-surface-base);
  --ui-bg-alt: var(--cicd-surface-inset);
  --ui-surface: var(--cicd-surface-l1);
  --ui-surface-card: var(--cicd-surface-l2);
  --ui-surface-subtle: var(--cicd-surface-l2);
  --ui-surface-hover: var(--cicd-button-ghost-hover);
  --ui-fg: var(--cicd-fg-primary);
  --ui-fg-subtle: var(--cicd-fg-secondary);
  --ui-fg-subtlest: var(--cicd-fg-tertiary);
  --ui-fg-inverse: var(--cicd-fg-invert);
  --ui-brand-bold: var(--cicd-button-filled);
  --ui-brand-hover: var(--cicd-button-filled-hover);
  --ui-brand: var(--cicd-button-secondary-fill);
  --ui-brand-subtle: var(--cicd-button-ghost-surface-hover);
  --ui-border: var(--cicd-border-l2);
  --ui-border-subtle: var(--cicd-border-l1);
  --ui-glass-strong: var(--cicd-surface-l2);
}

.p-project-dot {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .p-cicd-actions a, .p-cicd-settings button {
    transition: none;
  }

  .p-cicd-actions a:active {
    transform: none;
  }
}

address.p-footer-micro-company {
  max-width: 760px;
  font-style: normal;
}

/* [project]/web/styles/cicd-colors.css [app-client] (css) */
:root, :root[data-theme="dark"] {
  --cicd-scheme: dark;
  --cicd-surface-base: #0e1012;
  --cicd-surface-inset: #0b0d0f;
  --cicd-surface-l1: #16191c;
  --cicd-surface-l1-hover: #1d2125;
  --cicd-surface-l2: #1b1f23;
  --cicd-surface-l2-active: #23282d;
  --cicd-surface-l3: #2a3036;
  --cicd-surface-l4: #323940;
  --cicd-surface-elevated: #1d2125;
  --cicd-surface-invert: #eceff1;
  --cicd-fg-primary: #eceff1;
  --cicd-fg-secondary: #a3abb2;
  --cicd-fg-tertiary: #7f8890;
  --cicd-fg-quaternary: #5b636b;
  --cicd-fg-invert: #0b0d0f;
  --cicd-fg-warning: #f0c850;
  --cicd-fg-danger: #f07878;
  --cicd-fg-success: #86d68c;
  --cicd-fg-positive: #86d68c;
  --cicd-fg-link: #b8ff3c;
  --cicd-fg-link-hover: #c9ff66;
  --cicd-wd-accent: #b8ff3c;
  --cicd-wd-accent-hover: #c9ff66;
  --cicd-wd-composer-bg: #16191c;
  --cicd-wd-user-bubble: #1b1f23;
  --cicd-wd-diff-add: #78be78;
  --cicd-wd-diff-del: #cd8489;
  --cicd-overlay: #0607089e;
  --cicd-popover: #1d2125;
  --cicd-button-filled: #b8ff3c;
  --cicd-button-filled-hover: #c9ff66;
  --cicd-button-filled-active: #9ee026;
  --cicd-button-ghost-surface-hover: #eceff10a;
  --cicd-button-ghost-hover: #eceff114;
  --cicd-button-ghost-active: #eceff11a;
  --cicd-button-secondary-fill: #eceff114;
  --cicd-button-secondary-fill-hover: #eceff11a;
  --cicd-button-secondary-fill-active: #eceff11f;
  --cicd-button-danger-fill: #f078780f;
  --cicd-button-danger-fill-hover: #f0787814;
  --cicd-button-danger-fill-active: #f078781a;
  --cicd-border-l1: #eceff112;
  --cicd-border-l2: #eceff11f;
  --cicd-border-l3: #eceff138;
  --cicd-ring: #b8ff3c;
  --cicd-highlight: #b8ff3c4d;
  --cicd-bg-warning: #f0c8501a;
  --cicd-input-background: #0b0d0f;
  --cicd-input-background-hover: #0e1012;
  --cicd-input-button-background: #1d2125;
  --cicd-input-button-background-hover: #23282d;
  --cicd-input-button-background-selected: #2a3036;
  --cicd-input-button-border: #eceff11a;
  --cicd-input-button-border-hover: #eceff12e;
  --cicd-wd-composer-border: #eceff112;
  --cicd-shadow-sm: 0 1px 0 #0009;
  --cicd-shadow: 2px 2px 0 #0000008c;
  --cicd-shadow-lg: 4px 4px 0 #0009;
  --xc-accent: #b8ff3c;
  --xc-accent-hover: #c9ff66;
  --xc-accent-active: #9ee026;
  --xc-accent-ink: #b8ff3c;
  --xc-on-accent: #0b0d0f;
  --xc-edge-lo: #040506;
  --xc-edge-mid: #eceff124;
  --xc-edge-hi: #eceff142;
  --xc-bolt: #3a4148;
  --xc-plate-bg: #16191c;
}

:root[data-theme="light"] {
  --cicd-scheme: light;
  --cicd-surface-base: #e2e5e8;
  --cicd-surface-inset: #d6dade;
  --cicd-surface-l1: #dce0e3;
  --cicd-surface-l1-hover: #d4d8dc;
  --cicd-surface-l2: #d0d5d9;
  --cicd-surface-l2-active: #c6ccd1;
  --cicd-surface-l3: #c8ced3;
  --cicd-surface-l4: #bcc3c9;
  --cicd-surface-elevated: #f0f2f4;
  --cicd-surface-invert: #0e1012;
  --cicd-fg-primary: #0e1012;
  --cicd-fg-secondary: #4e565e;
  --cicd-fg-tertiary: #545d66;
  --cicd-fg-quaternary: #8c949c;
  --cicd-fg-invert: #eceff1;
  --cicd-fg-warning: #765400;
  --cicd-fg-danger: #a41e28;
  --cicd-fg-success: #00681e;
  --cicd-fg-positive: #00681e;
  --cicd-fg-link: #366000;
  --cicd-fg-link-hover: #4a8000;
  --cicd-wd-accent: #b8ff3c;
  --cicd-wd-accent-hover: #c9ff66;
  --cicd-wd-composer-bg: #f0f2f4;
  --cicd-wd-user-bubble: #d6dade;
  --cicd-wd-diff-add: #2f7448;
  --cicd-wd-diff-del: #a7444b;
  --cicd-overlay: #0e10124d;
  --cicd-popover: #f0f2f4;
  --cicd-button-filled: #b8ff3c;
  --cicd-button-filled-hover: #c9ff66;
  --cicd-button-filled-active: #9ee026;
  --cicd-button-ghost-surface-hover: #0e101208;
  --cicd-button-ghost-hover: #0e10120f;
  --cicd-button-ghost-active: #0e10121a;
  --cicd-button-secondary-fill: #0e10120d;
  --cicd-button-secondary-fill-hover: #0e101214;
  --cicd-button-secondary-fill-active: #0e10121a;
  --cicd-button-danger-fill: #a41e280f;
  --cicd-button-danger-fill-hover: #a41e2814;
  --cicd-button-danger-fill-active: #a41e281a;
  --cicd-border-l1: #0e101214;
  --cicd-border-l2: #0e101224;
  --cicd-border-l3: #0e10123d;
  --cicd-ring: #366000;
  --cicd-highlight: #b8ff3c80;
  --cicd-bg-warning: #76540014;
  --cicd-input-background: #f0f2f4;
  --cicd-input-background-hover: #f4f5f7;
  --cicd-input-button-background: #dce0e3;
  --cicd-input-button-background-hover: #d4d8dc;
  --cicd-input-button-background-selected: #c6ccd1;
  --cicd-input-button-border: #0e10121a;
  --cicd-input-button-border-hover: #0e10122e;
  --cicd-wd-composer-border: #0e101224;
  --cicd-shadow-sm: 0 1px 0 #0e10122e;
  --cicd-shadow: 2px 2px 0 #0e101238;
  --cicd-shadow-lg: 4px 4px 0 #0e101242;
  --xc-accent: #b8ff3c;
  --xc-accent-hover: #c9ff66;
  --xc-accent-active: #9ee026;
  --xc-accent-ink: #366000;
  --xc-on-accent: #0b0d0f;
  --xc-edge-lo: #788088;
  --xc-edge-mid: #ffffff8c;
  --xc-edge-hi: #ffffffe6;
  --xc-bolt: #b0b7be;
  --xc-plate-bg: #dce0e3;
}

:root {
  --cicd-success-soft: color-mix(in srgb, var(--cicd-fg-success) 8%, transparent);
  --cicd-success-border: color-mix(in srgb, var(--cicd-fg-success) 24%, transparent);
  --cicd-warning-border: color-mix(in srgb, var(--cicd-fg-warning) 24%, transparent);
  --cicd-danger-border: color-mix(in srgb, var(--cicd-fg-danger) 24%, transparent);
  --cicd-accent-soft: color-mix(in srgb, var(--cicd-wd-accent) 8%, transparent);
  --cicd-accent-border: color-mix(in srgb, var(--cicd-wd-accent) 24%, transparent);
}

/* [project]/web/app/design.css [app-client] (css) */
@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-weight: 45 920;
  font-display: swap;
  src: url("/fonts/PretendardVariable.woff2") format("woff2");
}

:root {
  --g-brand: var(--cicd-button-filled);
  --g-brand-hover: var(--cicd-button-filled-hover);
  --g-brand-soft: var(--cicd-button-secondary-fill);
  --g-action: var(--cicd-button-filled);
  --g-action-hover: var(--cicd-button-filled-hover);
  --g-on-action: var(--cicd-fg-invert);
  --g-link: var(--cicd-fg-link);
  --g-canvas: var(--cicd-surface-base);
  --g-surface: var(--cicd-surface-l1);
  --g-subtle: var(--cicd-surface-l2);
  --g-hover: var(--cicd-button-ghost-hover);
  --g-elev-1: var(--cicd-surface-l1);
  --g-elev-2: var(--cicd-surface-l2);
  --g-elev-3: var(--cicd-surface-l3);
  --g-text: var(--cicd-fg-primary);
  --g-secondary: var(--cicd-fg-secondary);
  --g-muted: var(--cicd-fg-tertiary);
  --g-line: var(--cicd-border-l1);
  --g-line-strong: var(--cicd-border-l2);
  --g-success: var(--cicd-fg-success);
  --g-success-soft: var(--cicd-success-soft);
  --g-warning: var(--cicd-fg-warning);
  --g-warning-soft: var(--cicd-bg-warning);
  --g-danger: var(--cicd-fg-danger);
  --g-danger-soft: var(--cicd-button-danger-fill);
  --g-shadow: var(--cicd-shadow);
  --g-shadow-sm: var(--cicd-shadow-sm);
  --g-glass: var(--cicd-surface-l1);
  --g-glass-strong: var(--cicd-surface-l2);
  --g-glass-soft: var(--cicd-surface-inset);
  --g-glass-border: var(--cicd-border-l1);
  --g-glass-border-strong: var(--cicd-border-l2);
  --g-glass-blur: 28px;
  --g-accent-warm: var(--cicd-wd-accent);
  --g-accent-warm-soft: var(--cicd-accent-soft);
  --g-font: "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --g-mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme: var(--cicd-scheme);
  --g-space-1: .25rem;
  --g-space-2: .5rem;
  --g-space-3: .75rem;
  --g-space-4: 1rem;
  --g-space-5: 1.25rem;
  --g-space-6: 1.5rem;
  --g-space-8: 2rem;
  --g-space-10: 2.5rem;
  --g-space-12: 3rem;
  --g-space-16: 4rem;
  --g-space-20: 5rem;
  --g-space-24: 6rem;
  --g-type-xs: .75rem;
  --g-type-sm: .875rem;
  --g-type-base: 1rem;
  --g-type-lead: 1.125rem;
  --g-type-h4: 1.25rem;
  --g-type-h3: 1.5rem;
  --g-type-h2: clamp(1.75rem,3vw,2.5rem);
  --g-type-price: clamp(2.5rem,4vw,3rem);
  --g-type-h1: clamp(2.25rem,4.5vw,3.5rem);
  --g-type-display: clamp(2.5rem,5.4vw,4.75rem);
  --g-leading-heading: 1.15;
  --g-leading-body: 1.75;
  --g-tracking-tight: -.045em;
  --g-radius-sm: .75rem;
  --g-radius-md: 1rem;
  --g-radius-lg: 1.5rem;
  --g-radius-xl: 1.75rem;
  --g-radius-circle: 50%;
  --g-hairline: 1px;
  --g-focus-width: 2px;
  --g-press: 2px;
  --g-container: 74rem;
  --g-measure: 46rem;
  --g-control: 3rem;
  --g-control-sm: 2.75rem;
  --g-motion-fast: .12s;
  --g-motion-med: .2s;
  --g-motion-slow: .32s;
  --g-ease-out: cubic-bezier(.16,1,.3,1);
  --g-ease-in-out: cubic-bezier(.45,0,.2,1);
}

:root[data-theme="light"] {
  --g-brand: var(--cicd-button-filled);
  --g-brand-hover: var(--cicd-button-filled-hover);
  --g-brand-soft: var(--cicd-button-secondary-fill);
  --g-action: var(--cicd-button-filled);
  --g-action-hover: var(--cicd-button-filled-hover);
  --g-on-action: var(--cicd-fg-invert);
  --g-link: var(--cicd-fg-link);
  --g-canvas: var(--cicd-surface-base);
  --g-surface: var(--cicd-surface-l1);
  --g-subtle: var(--cicd-surface-l2);
  --g-hover: var(--cicd-button-ghost-hover);
  --g-elev-1: var(--cicd-surface-l1);
  --g-elev-2: var(--cicd-surface-l2);
  --g-elev-3: var(--cicd-surface-l3);
  --g-text: var(--cicd-fg-primary);
  --g-secondary: var(--cicd-fg-secondary);
  --g-muted: var(--cicd-fg-tertiary);
  --g-line: var(--cicd-border-l1);
  --g-line-strong: var(--cicd-border-l2);
  --g-success: var(--cicd-fg-success);
  --g-success-soft: var(--cicd-success-soft);
  --g-warning: var(--cicd-fg-warning);
  --g-warning-soft: var(--cicd-bg-warning);
  --g-danger: var(--cicd-fg-danger);
  --g-danger-soft: var(--cicd-button-danger-fill);
  --g-shadow: var(--cicd-shadow);
  --g-shadow-sm: var(--cicd-shadow-sm);
  color-scheme: var(--cicd-scheme);
}

:root[data-theme="dark"] {
  --g-brand: var(--cicd-button-filled);
  --g-brand-hover: var(--cicd-button-filled-hover);
  --g-brand-soft: var(--cicd-button-secondary-fill);
  --g-action: var(--cicd-button-filled);
  --g-action-hover: var(--cicd-button-filled-hover);
  --g-on-action: var(--cicd-fg-invert);
  --g-link: var(--cicd-fg-link);
  --g-canvas: var(--cicd-surface-base);
  --g-surface: var(--cicd-surface-l1);
  --g-subtle: var(--cicd-surface-l2);
  --g-hover: var(--cicd-button-ghost-hover);
  --g-elev-1: var(--cicd-surface-l1);
  --g-elev-2: var(--cicd-surface-l2);
  --g-elev-3: var(--cicd-surface-l3);
  --g-text: var(--cicd-fg-primary);
  --g-secondary: var(--cicd-fg-secondary);
  --g-muted: var(--cicd-fg-tertiary);
  --g-line: var(--cicd-border-l1);
  --g-line-strong: var(--cicd-border-l2);
  --g-success: var(--cicd-fg-success);
  --g-success-soft: var(--cicd-success-soft);
  --g-warning: var(--cicd-fg-warning);
  --g-warning-soft: var(--cicd-bg-warning);
  --g-danger: var(--cicd-fg-danger);
  --g-danger-soft: var(--cicd-button-danger-fill);
  --g-shadow: var(--cicd-shadow);
  --g-shadow-sm: var(--cicd-shadow-sm);
  --g-glass: var(--cicd-surface-l1);
  --g-glass-strong: var(--cicd-surface-l2);
  --g-glass-soft: var(--cicd-surface-inset);
  --g-glass-border: var(--cicd-border-l1);
  --g-glass-border-strong: var(--cicd-border-l2);
  --g-glass-blur: 28px;
  color-scheme: var(--cicd-scheme);
}

html {
  background: var(--g-canvas);
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 96px;
}

body {
  color: var(--g-text);
  font: 400 15px/1.5 var(--g-font);
  -webkit-font-smoothing: antialiased;
  word-break: keep-all;
  overflow-wrap: break-word;
  letter-spacing: normal;
}

*, :before, :after {
  box-sizing: border-box;
}

button, input, select, textarea {
  font: inherit;
}

button, a, input, select, textarea, summary {
  -webkit-tap-highlight-color: transparent;
}

button, a {
  touch-action: manipulation;
}

button:disabled {
  cursor: not-allowed;
}

button:not(:disabled), summary {
  cursor: pointer;
}

a {
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--cicd-ring);
  outline-offset: 4px;
}

::selection {
  background: var(--cicd-highlight);
  color: var(--cicd-fg-primary);
}

.sr-only {
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.groa-brand {
  color: var(--g-text);
  letter-spacing: -1px;
  flex-shrink: 0;
  align-items: center;
  gap: 9px;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.groa-brand small {
  color: var(--g-muted);
  letter-spacing: 0;
  margin-left: 4px;
  font-size: 13px;
  font-weight: 500;
}

.groa-mark {
  background: var(--g-action);
  border-radius: 11px;
  width: 31px;
  height: 31px;
  display: inline-block;
  position: relative;
}

.groa-mark:before {
  content: "";
  border: 2px solid var(--g-on-action);
  border-radius: 4px;
  width: 15px;
  height: 12px;
  position: absolute;
  top: 7px;
  left: 8px;
}

.groa-mark i {
  background: var(--g-on-action);
  border-radius: 2px;
  width: 8px;
  height: 2px;
  position: absolute;
  top: 22px;
  left: 12px;
}

.theme-toggle {
  width: 44px;
  height: 44px;
  min-height: 44px;
  color: var(--g-secondary);
  background: none;
  border: 0;
  border-radius: 14px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.theme-toggle:hover {
  background: var(--g-subtle);
}

.g-header {
  z-index: 30;
  background: var(--cicd-surface-inset);
  border-bottom: 1px solid var(--g-glass-border, var(--g-line));
  -webkit-backdrop-filter: blur(var(--g-glass-blur, 28px)) saturate(1.12);
  position: sticky;
  top: 0;
}

.g-header-inner {
  align-items: center;
  gap: 48px;
  width: min(1184px, 100%);
  min-height: 76px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
}

.g-header-nav {
  background: none;
  border: 0;
  align-items: center;
  gap: 8px;
  display: flex;
  position: static;
}

.g-header-nav > a {
  color: var(--g-secondary);
  white-space: nowrap;
  border-radius: 9999px;
  align-items: center;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.g-header-nav > a:hover {
  color: var(--g-text);
  background: var(--g-subtle);
}

.g-header-nav > a[aria-current="page"] {
  color: var(--g-text);
  background: var(--g-hover);
  font-weight: 650;
}

.g-header-actions {
  align-items: center;
  gap: 12px;
  margin-left: auto;
  display: flex;
}

.g-header-login {
  white-space: nowrap;
  color: var(--g-secondary);
  padding: 10px 8px;
  font-size: 15px;
  font-weight: 550;
  text-decoration: none;
}

.g-account-link {
  align-items: center;
  gap: 9px;
  text-decoration: none;
  display: flex;
}

.g-account-link > span {
  background: var(--g-brand-soft);
  width: 34px;
  height: 34px;
  color: var(--g-link);
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.g-account-link > b {
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 110px;
  font-size: 14px;
  font-weight: 550;
  overflow: hidden;
}

.g-button {
  background: var(--g-action);
  border: 0;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
  transition: background .15s, transform .15s;
  display: inline-flex;
  color: var(--g-on-action) !important;
}

.g-button:hover {
  background: var(--g-action-hover);
  color: var(--g-on-action) !important;
}

.g-button:active {
  transform: scale(.985);
}

.g-button-small {
  border-radius: 12px;
  min-height: 44px;
  padding: 10px 16px;
  font-size: 15px;
}

.g-button-weak {
  background: var(--g-hover);
  border: 1px solid var(--g-line);
  color: var(--g-text) !important;
}

.g-button-weak:hover {
  background: var(--g-elev-2);
  color: var(--g-text) !important;
}

.g-menu-toggle {
  width: 44px;
  height: 44px;
  color: var(--g-secondary);
  background: none;
  border: 0;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: none;
}

.g-header-nav > .g-mobile-account, .g-mobile-signout {
  display: none;
}

.g-desktop-signout {
  color: var(--g-muted);
  background: none;
  border: 0;
  padding: 10px 0 10px 4px;
  font-size: 14px;
}

.g-footer {
  background: var(--g-subtle);
}

.g-footer-inner {
  width: min(1184px, 100%);
  margin: auto;
  padding: 56px 32px 36px;
}

.g-footer-business {
  color: var(--g-muted);
  font-size: 13px;
  line-height: 1.9;
}

.g-footer-business strong {
  color: var(--g-secondary);
  font-size: 14px;
  font-weight: 650;
}

.g-footer-business p {
  margin: 10px 0;
}

.g-footer-business a {
  text-decoration: none;
}

.g-footer-copyright {
  color: var(--g-muted);
  margin: 26px 0 0;
  font-size: 12px;
}

.eyebrow {
  color: var(--g-secondary);
  letter-spacing: 0;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 650;
  display: block;
}

.page-heading {
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 32px;
  display: flex;
}

.page-heading h1 {
  letter-spacing: -.04em;
  font-size: 34px;
  font-weight: 750;
  line-height: 1.35;
}

.page-heading p {
  color: var(--g-muted);
  margin-top: 12px;
  font-size: 16px;
}

.empty-state {
  text-align: center;
  padding: 48px 24px;
}

.empty-state .empty-symbol {
  background: var(--g-hover);
  width: 68px;
  height: 68px;
  color: var(--g-text);
  border-radius: 24px;
  place-items: center;
  margin: 0 auto 24px;
  font-size: 30px;
  display: grid;
}

.empty-state h3 {
  margin: 0 0 12px;
  font-size: 22px;
}

.empty-state p {
  max-width: 420px;
  color: var(--g-muted);
  margin: 0 auto 24px;
  font-size: 16px;
  line-height: 1.8;
}

.site-fallback {
  text-align: center;
  flex-direction: column;
  align-items: center;
  max-width: 680px;
  min-height: 85vh;
  margin: auto;
  padding: 70px 24px;
  display: flex;
}

.site-fallback .fallback-code {
  color: var(--g-secondary);
  margin: 70px 0 20px;
  font-size: 46px;
  font-weight: 750;
}

.site-fallback h1 {
  color: var(--g-text);
  font-size: 32px;
}

.site-fallback p {
  color: var(--g-secondary);
  margin: 0 0 28px;
  font-size: 16px;
  line-height: 1.9;
}

.site-fallback > a:not(.groa-brand), .site-fallback > button {
  background: var(--g-action);
  color: var(--g-on-action);
  font: 600 16px var(--g-font);
  border: 0;
  border-radius: 16px;
  padding: 15px 22px;
  text-decoration: none;
}

.site-fallback > a.fallback-secondary {
  color: var(--g-muted);
  background: none;
  margin-top: 8px;
}

@media (max-width: 900px) {
  .g-header-inner {
    gap: 22px;
    padding-inline: 24px;
  }

  .g-header-nav {
    gap: 0;
  }

  .g-header-nav > a {
    padding-inline: 10px;
    font-size: 14px;
  }

  .g-header-actions {
    gap: 8px;
  }

  .g-account-link > b {
    display: none;
  }
}

@media (max-width: 700px) {
  .g-header-inner {
    gap: 12px;
    min-height: 68px;
    padding: 0 20px;
  }

  .groa-brand {
    font-size: 26px;
  }

  .g-header-actions {
    gap: 4px;
  }

  .g-header-cta, .g-desktop-signout {
    display: none !important;
  }

  .g-header-nav {
    background: var(--g-surface);
    border-bottom: 1px solid var(--g-line);
    padding: 14px 20px 20px;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    box-shadow: 0 14px 20px #00000008;
  }

  .g-header-nav.is-open {
    gap: 4px;
    display: grid;
  }

  .g-header-nav > a {
    padding: 14px 16px;
    font-size: 16px;
  }

  .g-header-nav > .g-mobile-account, .g-menu-toggle {
    display: flex;
  }

  .g-mobile-signout {
    text-align: left;
    color: var(--g-secondary);
    background: none;
    border: 0;
    padding: 14px 16px;
    font-size: 16px;
    display: block;
  }

  .g-header-login {
    font-size: 14px;
  }

  .g-footer-inner {
    padding: 40px 24px 28px;
  }

  .g-footer-business {
    font-size: 12px;
    line-height: 1.9;
  }

  .page-heading {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .page-heading h1 {
    font-size: 29px;
  }
}

@media (max-width: 360px) {
  .g-header-login {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *, :before, :after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.g-account-link .account-provider {
  background: var(--g-subtle);
  color: var(--g-text);
}

.g-account-link .account-provider svg {
  width: 19px;
  height: 19px;
}

.g-account-link .account-provider-naver {
  color: #03c75a;
}

.g-account-link .account-provider-kakao {
  color: #191919;
  background: #fee500;
}

/* [project]/web/app/stream.css [app-client] (css) */
.remote-stream {
  --stream-bg: var(--cicd-surface-base);
  --stream-panel: var(--cicd-surface-l1);
  --stream-raised: var(--cicd-surface-l2);
  --stream-hover: var(--cicd-button-ghost-hover);
  --stream-border: var(--cicd-border-l2);
  --stream-text: var(--cicd-fg-primary);
  --stream-muted: var(--cicd-fg-secondary);
  --stream-accent: var(--cicd-fg-primary);
  --stream-overlay: var(--cicd-overlay);
  --stream-space-1: 6px;
  --stream-space-2: 8px;
  --stream-space-3: 10px;
  --stream-radius: 10px;
  border: 1px solid var(--stream-border);
  border-radius: var(--stream-radius);
  background: var(--stream-bg);
  height: calc(100vh - 230px);
  min-height: 480px;
  color: var(--stream-text);
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.console .remote-stream, .portal .remote-stream {
  --stream-bg: var(--cicd-surface-base);
  --stream-panel: var(--cicd-surface-l1);
  --stream-raised: var(--cicd-surface-l2);
  --stream-hover: var(--cicd-button-ghost-hover);
  --stream-border: var(--cicd-border-l2);
  --stream-text: var(--cicd-fg-primary);
  --stream-muted: var(--cicd-fg-secondary);
  --stream-accent: var(--cicd-fg-primary);
}

.stream-stage {
  background: var(--stream-bg);
  flex: 1;
  place-items: center;
  min-height: 0;
  display: grid;
  position: relative;
  overflow: hidden;
}

.stream-stage canvas {
  aspect-ratio: 16 / 9;
  object-fit: contain;
  outline: none;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  display: block;
}

.stream-stage canvas:focus-visible, .stream-stage:focus-within canvas {
  box-shadow: inset 0 0 0 2px var(--stream-accent);
}

.stream-keyboard-capture {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.stream-hud {
  top: var(--stream-space-3);
  left: var(--stream-space-3);
  right: var(--stream-space-3);
  justify-content: space-between;
  gap: var(--stream-space-3);
  pointer-events: none;
  color: var(--stream-text);
  text-shadow: 0 1px 2px var(--stream-bg);
  font-size: 12px;
  display: flex;
  position: absolute;
}

.stream-hud span {
  padding: 5px var(--stream-space-2);
  border: 1px solid var(--stream-border);
  background: var(--stream-panel);
  border-radius: 999px;
}

.stream-actions {
  align-items: center;
  gap: var(--stream-space-2);
  padding: var(--stream-space-2) var(--stream-space-3);
  border-top: 1px solid var(--stream-border);
  background: var(--stream-panel);
  display: flex;
}

.stream-actions button {
  min-height: 34px;
  padding: var(--stream-space-1) 11px;
  border: 1px solid var(--stream-border);
  border-radius: calc(var(--stream-radius) - 2px);
  background: var(--stream-raised);
  color: var(--stream-text);
  cursor: pointer;
}

.stream-actions button:hover {
  background: var(--stream-hover);
}

.stream-actions button:focus-visible {
  outline: 2px solid var(--stream-accent);
  outline-offset: 2px;
}

.screen.stream-loading {
  color: var(--stream-muted);
  place-items: center;
  font-size: 13px;
  display: grid;
}

.viewer > .remote-stream {
  border: 0;
  border-radius: 0;
  height: auto;
  min-height: 0;
  position: absolute;
  inset: 42px 0 0;
}

.viewer .bar .btn.active {
  border-color: var(--blue);
  background: var(--blue-d);
  color: var(--bg);
}

@media (max-width: 900px) {
  .remote-stream {
    height: auto;
    min-height: 0;
  }

  .stream-stage {
    aspect-ratio: 16 / 9;
    flex: none;
  }
}

@media (max-width: 640px) {
  .console .remote-stream {
    height: clamp(360px, 52dvh, 520px);
  }

  .stream-stage {
    aspect-ratio: auto;
    flex: 1;
  }

  .stream-hud {
    top: var(--stream-space-1);
    left: var(--stream-space-1);
    right: var(--stream-space-1);
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 4px;
    font-size: 12px;
  }

  .stream-hud span {
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
  }

  .stream-actions {
    flex-wrap: wrap;
  }

  .stream-actions button {
    white-space: normal;
    flex: 150px;
    min-width: 0;
  }
}

:is(.portal, .console) .remote-stream {
  --stream-bg: var(--cicd-surface-base);
  --stream-panel: var(--cicd-surface-l1);
  --stream-raised: var(--cicd-surface-l2);
  --stream-hover: var(--cicd-button-ghost-hover);
  --stream-border: var(--cicd-border-l2);
  --stream-text: var(--cicd-fg-primary);
  --stream-muted: var(--cicd-fg-secondary);
  --stream-accent: var(--cicd-fg-primary);
  --stream-overlay: var(--cicd-overlay);
  --stream-radius: 10px;
}

/* [project]/web/styles/cicd-tokens.css [app-client] (css) */
@font-face {
  font-family: Chakra Petch;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/ChakraPetch-Bold.ttf") format("truetype");
}

:root {
  --ui-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --xc-display: "Chakra Petch", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --xc-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ui-bg: var(--cicd-surface-base);
  --ui-bg-alt: var(--cicd-surface-inset);
  --ui-surface: var(--cicd-surface-l1);
  --ui-surface-card: var(--cicd-surface-l2);
  --ui-surface-subtle: var(--cicd-surface-l2);
  --ui-surface-hover: var(--cicd-button-ghost-hover);
  --ui-brand-bold: var(--cicd-button-filled);
  --ui-brand-hover: var(--cicd-button-filled-hover);
  --ui-brand-active: var(--cicd-button-filled-active);
  --ui-brand: var(--cicd-button-secondary-fill);
  --ui-brand-subtle: var(--cicd-button-ghost-surface-hover);
  --ui-fg: var(--cicd-fg-primary);
  --ui-fg-subtle: var(--cicd-fg-secondary);
  --ui-fg-subtlest: var(--cicd-fg-tertiary);
  --ui-fg-disabled: var(--cicd-fg-quaternary);
  --ui-fg-inverse: var(--cicd-fg-invert);
  --ui-fg-brand: var(--xc-accent-ink);
  --ui-fg-brand-subtle: var(--cicd-fg-secondary);
  --ui-border: var(--cicd-border-l2);
  --ui-border-subtle: var(--cicd-border-l1);
  --ui-border-white: 1px solid var(--cicd-border-l1);
  --ui-success: var(--cicd-fg-success);
  --ui-success-soft: var(--cicd-success-soft);
  --ui-warning: var(--cicd-fg-warning);
  --ui-warning-soft: var(--cicd-bg-warning);
  --ui-danger: var(--cicd-fg-danger);
  --ui-danger-soft: var(--cicd-button-danger-fill);
  --ui-shadow-sm: var(--cicd-shadow-sm);
  --ui-shadow-card: var(--cicd-shadow);
  --ui-shadow-card-hover: var(--cicd-shadow-lg);
  --ui-shadow-lg: var(--cicd-shadow-lg);
  --ui-radius-sm: 0px;
  --ui-radius-md: 0px;
  --ui-radius-lg: 2px;
  --ui-radius-card: 2px;
  --ui-radius-full: 2px;
  --ui-glass: var(--cicd-surface-l2);
  --ui-glass-strong: var(--cicd-surface-l2);
  --ui-glass-soft: var(--cicd-surface-inset);
  --ui-glass-border: var(--cicd-border-l1);
  --ui-glass-border-strong: var(--cicd-border-l2);
  --ui-glass-blur: 0px;
  --ui-glass-saturate: 1;
  --ui-glass-shadow: var(--cicd-shadow);
  --ui-glass-shadow-lg: var(--cicd-shadow-lg);
  --ui-accent-warm: var(--cicd-wd-accent);
  --ui-accent-warm-soft: var(--cicd-accent-soft);
  --ui-accent-warm-border: var(--cicd-accent-border);
  --xc-chamfer: 16px;
  --xc-chamfer-sm: 8px;
  --xc-chamfer-lg: 24px;
  --xc-seam: 1px;
  --xc-bolt-size: 5px;
  --xc-bolt-inset: 6px;
  --xc-focus: 0 0 0 2px var(--cicd-ring);
  --xc-shadow-hard: var(--cicd-shadow);
  --xc-shadow-hard-lg: var(--cicd-shadow-lg);
  --xc-shadow-press: inset 0 2px 0 var(--xc-edge-lo);
  --xc-motion-snap: .1s steps(2, end);
  --xc-motion-fast: .12s cubic-bezier(.2, .9, .2, 1);
  --xc-motion-slow: .14s cubic-bezier(.2, .9, .2, 1);
  --xc-clip-plate: polygon(var(--xc-chamfer) 0, 100% 0,
    100% calc(100% - var(--xc-chamfer)), calc(100% - var(--xc-chamfer)) 100%,
    0 100%, 0 var(--xc-chamfer));
  --xc-clip-plate-all: polygon(var(--xc-chamfer) 0, calc(100% - var(--xc-chamfer)) 0,
    100% var(--xc-chamfer), 100% calc(100% - var(--xc-chamfer)),
    calc(100% - var(--xc-chamfer)) 100%, var(--xc-chamfer) 100%,
    0 calc(100% - var(--xc-chamfer)), 0 var(--xc-chamfer));
  --xc-clip-btn: polygon(var(--xc-chamfer-sm) 0, 100% 0,
    100% calc(100% - var(--xc-chamfer-sm)), calc(100% - var(--xc-chamfer-sm)) 100%,
    0 100%, 0 var(--xc-chamfer-sm));
  color-scheme: var(--cicd-scheme);
}

:root[data-theme="light"] {
  --ui-bg: var(--cicd-surface-base);
  --ui-bg-alt: var(--cicd-surface-inset);
  --ui-surface: var(--cicd-surface-l1);
  --ui-surface-card: var(--cicd-surface-l2);
  --ui-surface-subtle: var(--cicd-surface-l2);
  --ui-surface-hover: var(--cicd-button-ghost-hover);
  --ui-brand-bold: var(--cicd-button-filled);
  --ui-brand-hover: var(--cicd-button-filled-hover);
  --ui-brand-active: var(--cicd-button-filled-active);
  --ui-brand: var(--cicd-button-secondary-fill);
  --ui-brand-subtle: var(--cicd-button-ghost-surface-hover);
  --ui-fg: var(--cicd-fg-primary);
  --ui-fg-subtle: var(--cicd-fg-secondary);
  --ui-fg-subtlest: var(--cicd-fg-tertiary);
  --ui-fg-disabled: var(--cicd-fg-quaternary);
  --ui-fg-inverse: var(--cicd-fg-invert);
  --ui-fg-brand: var(--xc-accent-ink);
  --ui-fg-brand-subtle: var(--cicd-fg-secondary);
  --ui-border: var(--cicd-border-l2);
  --ui-border-subtle: var(--cicd-border-l1);
  --ui-border-white: 1px solid var(--cicd-border-l1);
  --ui-shadow-sm: var(--cicd-shadow-sm);
  --ui-shadow-card: var(--cicd-shadow);
  --ui-shadow-card-hover: var(--cicd-shadow-lg);
  --ui-shadow-lg: var(--cicd-shadow-lg);
  color-scheme: var(--cicd-scheme);
}

html, body, button, input, select, textarea {
  font-family: var(--g-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ui-fg {
  color: var(--ui-fg) !important;
}

.ui-fg-subtle {
  color: var(--ui-fg-subtle) !important;
}

.ui-fg-subtlest {
  color: var(--ui-fg-subtlest) !important;
}

.ui-fg-brand {
  color: var(--ui-fg-brand) !important;
}

.ui-bg-neutral-static {
  background-color: var(--ui-surface-subtle) !important;
}

.ui-bg-brand-bold {
  background-color: var(--ui-brand-bold) !important;
}

.p-card-twotone {
  background: var(--ui-glass) !important;
  border: 1px solid var(--ui-glass-border) !important;
  border-radius: var(--ui-radius-card) !important;
  box-shadow: var(--ui-shadow-card) !important;
  transition: background-color var(--xc-motion-fast), border-color var(--xc-motion-fast), box-shadow var(--xc-motion-fast) !important;
}

.p-card-twotone:hover {
  background: var(--ui-glass-strong) !important;
  border-color: var(--ui-glass-border-strong) !important;
  box-shadow: var(--ui-shadow-card-hover) !important;
}

.p-btn-brand-exact {
  background-color: var(--ui-brand-bold) !important;
  color: var(--ui-fg-inverse) !important;
  border-radius: var(--ui-radius-sm) !important;
  cursor: pointer !important;
  transition: background-color var(--xc-motion-snap), transform var(--xc-motion-snap), box-shadow var(--xc-motion-snap) !important;
  border: none !important;
  justify-content: center !important;
  align-items: center !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
}

.p-btn-brand-exact:hover {
  background-color: var(--ui-brand-hover) !important;
  color: var(--ui-fg-inverse) !important;
}

.p-btn-brand-exact:active {
  background-color: var(--ui-brand-active) !important;
  color: var(--ui-fg-inverse) !important;
  box-shadow: var(--xc-shadow-press) !important;
  transform: translateY(1px) !important;
}

.p-btn-subtle-exact {
  background-color: var(--ui-surface) !important;
  color: var(--ui-fg) !important;
  border-radius: var(--ui-radius-sm) !important;
  border: 1px solid var(--ui-border) !important;
  cursor: pointer !important;
  transition: background-color var(--xc-motion-snap) !important;
  justify-content: center !important;
  align-items: center !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
}

.p-btn-subtle-exact:hover {
  background-color: var(--ui-surface-subtle) !important;
}

.p-glass {
  background: var(--ui-glass);
  border: 1px solid var(--ui-glass-border);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--ui-glass-shadow);
}

.p-glass-strong {
  background: var(--ui-glass-strong);
  border: 1px solid var(--ui-glass-border-strong);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--ui-glass-shadow-lg);
}

.p-stage-ambient {
  background: var(--ui-bg);
}

.xc-wordmark {
  letter-spacing: -1px;
  text-transform: uppercase;
  white-space: nowrap;
  align-items: baseline;
  font: 700 25px / 1 Chakra Petch, sans-serif;
  display: inline-flex;
}

.xc-wordmark-ci {
  color: var(--cicd-fg-secondary);
  margin-left: 2px;
}

:root[data-theme="light"] .xc-brand-mark {
  filter: brightness(.55);
}

.groa-brand {
  gap: 10px;
}

.xc-plate {
  background: var(--xc-plate-bg);
  clip-path: var(--xc-clip-plate);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi),
    inset 1px 0 0 var(--xc-edge-mid),
    inset -1px 0 0 var(--xc-edge-lo),
    inset 0 -1px 0 var(--xc-edge-lo);
  border-radius: 0;
  position: relative;
}

.xc-plate-wrap {
  filter: drop-shadow(2px 2px 0 var(--xc-edge-lo));
}

.xc-plate-all {
  clip-path: var(--xc-clip-plate-all);
}

.xc-plate-lg {
  --xc-chamfer: var(--xc-chamfer-lg);
}

.xc-plate-raised {
  background: var(--cicd-surface-elevated);
}

.xc-plate-wrap:has( > .xc-plate-raised) {
  filter: drop-shadow(4px 4px 0 var(--xc-edge-lo));
}

.xc-seam {
  border: 0;
  border-top: var(--xc-seam) solid var(--xc-edge-lo);
  border-bottom: var(--xc-seam) solid var(--xc-edge-mid);
  height: 0;
  margin: 0;
  display: block;
}

.xc-seam-v {
  border: 0;
  border-left: var(--xc-seam) solid var(--xc-edge-lo);
  border-right: var(--xc-seam) solid var(--xc-edge-mid);
  align-self: stretch;
  width: 0;
  display: block;
}

.xc-bolt {
  position: relative;
}

.xc-bolt:before, .xc-bolt:after {
  content: "";
  width: var(--xc-bolt-size);
  height: var(--xc-bolt-size);
  background: var(--xc-bolt);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi), inset 0 -1px 0 var(--xc-edge-lo), 0 0 0 1px var(--xc-edge-lo);
  pointer-events: none;
  position: absolute;
}

.xc-bolt:before {
  top: var(--xc-bolt-inset);
  left: calc(var(--xc-bolt-inset) + var(--xc-chamfer) / 2);
}

.xc-bolt:after {
  right: calc(var(--xc-bolt-inset) + var(--xc-chamfer) / 2);
  bottom: var(--xc-bolt-inset);
}

.xc-bolt-4 {
  background-image: linear-gradient(var(--xc-bolt), var(--xc-bolt)),
    linear-gradient(var(--xc-bolt), var(--xc-bolt));
  background-size: var(--xc-bolt-size) var(--xc-bolt-size);
  background-repeat: no-repeat;
  background-position: calc(100% - var(--xc-bolt-inset)) var(--xc-bolt-inset),
    var(--xc-bolt-inset) calc(100% - var(--xc-bolt-inset));
}

.xc-label {
  font-family: var(--xc-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cicd-fg-secondary);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
}

.xc-label-accent {
  color: var(--xc-accent-ink);
}

.xc-display {
  font-family: var(--xc-display);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-weight: 600;
}

.xc-btn-mech {
  --xc-btn-bg: var(--cicd-surface-l2);
  --xc-btn-fg: var(--cicd-fg-primary);
  --xc-btn-bg-hover: var(--cicd-surface-l2-active);
  --xc-btn-bg-active: var(--cicd-surface-l1);
  background: var(--xc-btn-bg);
  min-height: 40px;
  color: var(--xc-btn-fg);
  font: 600 14px/1 var(--xc-display);
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  clip-path: var(--xc-clip-btn);
  box-shadow: inset 0 1px 0 var(--xc-edge-hi),
    inset 1px 0 0 var(--xc-edge-mid),
    inset -1px 0 0 var(--xc-edge-lo),
    inset 0 -2px 0 var(--xc-edge-lo);
  transition: background-color var(--xc-motion-snap), transform var(--xc-motion-snap), box-shadow var(--xc-motion-snap);
  -webkit-user-select: none;
  user-select: none;
  border: 0;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  text-decoration: none;
  display: inline-flex;
  position: relative;
}

.xc-btn-mech:hover {
  background: var(--xc-btn-bg-hover);
  color: var(--xc-btn-fg);
}

.xc-btn-mech:active, .xc-btn-mech[aria-pressed="true"] {
  background: var(--xc-btn-bg-active);
  box-shadow: inset 0 2px 0 var(--xc-edge-lo),
    inset 1px 0 0 var(--xc-edge-lo),
    inset -1px 0 0 var(--xc-edge-lo),
    inset 0 -1px 0 var(--xc-edge-mid);
  transform: translateY(1px);
}

.xc-btn-mech:focus-visible {
  outline: 2px solid var(--cicd-fg-primary);
  outline-offset: -5px;
}

.xc-btn-mech.is-primary:focus-visible {
  outline-color: var(--xc-on-accent);
}

.xc-btn-mech:disabled, .xc-btn-mech[aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}

.xc-btn-mech.is-primary {
  --xc-btn-bg: var(--xc-accent);
  --xc-btn-fg: var(--xc-on-accent);
  --xc-btn-bg-hover: var(--xc-accent-hover);
  --xc-btn-bg-active: var(--xc-accent-active);
}

.xc-btn-mech.is-ghost {
  --xc-btn-bg: transparent;
  --xc-btn-bg-hover: var(--cicd-button-ghost-hover);
  --xc-btn-bg-active: var(--cicd-button-ghost-active);
}

.xc-focus:focus-visible {
  outline: 2px solid var(--cicd-ring);
  outline-offset: 2px;
  box-shadow: none;
}

.xc-edge {
  box-shadow: inset 0 1px 0 var(--xc-edge-hi),
    inset 1px 0 0 var(--xc-edge-mid),
    inset -1px 0 0 var(--xc-edge-lo),
    inset 0 -1px 0 var(--xc-edge-lo);
  border: 0;
  border-radius: 0;
}

.xc-hard-shadow {
  box-shadow: var(--xc-shadow-hard);
}

.xc-hard-shadow-lg {
  box-shadow: var(--xc-shadow-hard-lg);
}

@media (prefers-reduced-motion: reduce) {
  .xc-btn-mech, .p-btn-brand-exact, .p-card-twotone {
    transition: none !important;
  }

  .xc-btn-mech:active, .p-btn-brand-exact:active {
    transform: none !important;
  }
}

/*# sourceMappingURL=web_08o36q2._.css.map*/