@charset "UTF-8";

/* src/styles.scss */
:root {
  --neu-bg: #e8ecf1;
  --neu-shadow-dark: #b8c0cc;
  --neu-shadow-light: #ffffff;
  --neu-text: #2d3561;
  --neu-text-muted: #8f9bb3;
  --neu-text-light: #b0b8cc;
  --neu-accent: #3b82f6;
  --neu-accent-dark: #2563eb;
  --neu-danger: #e05c5c;
  --neu-success: #3dba7e;
  --neu-warning: #f59e0b;
  --brand-primary: #581cff;
  --brand-accent: #00d2ff;
  --neu-raised-xs: 3px 3px 6px var(--neu-shadow-dark), -3px -3px 6px var(--neu-shadow-light);
  --neu-raised-sm: 5px 5px 10px var(--neu-shadow-dark), -5px -5px 10px var(--neu-shadow-light);
  --neu-raised-md: 8px 8px 16px var(--neu-shadow-dark), -8px -8px 16px var(--neu-shadow-light);
  --neu-raised-lg: 12px 12px 24px var(--neu-shadow-dark), -12px -12px 24px var(--neu-shadow-light);
  --neu-inset-sm: inset 3px 3px 6px var(--neu-shadow-dark), inset -3px -3px 6px var(--neu-shadow-light);
  --neu-inset-md: inset 5px 5px 10px var(--neu-shadow-dark), inset -5px -5px 10px var(--neu-shadow-light);
  --neu-inset-lg: inset 8px 8px 16px var(--neu-shadow-dark), inset -8px -8px 16px var(--neu-shadow-light);
  --neu-r-xs: 6px;
  --neu-r-sm: 10px;
  --neu-r-md: 14px;
  --neu-r-lg: 20px;
  --neu-r-pill: 50px;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  line-height: 1.5;
  font-weight: 400;
  color: var(--neu-text);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  margin: 0;
  min-height: 100vh;
  background: var(--neu-bg);
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.1rem;
  border: none;
  border-radius: var(--neu-r-pill);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: box-shadow 0.15s, opacity 0.15s;
  letter-spacing: 0.02em;
  white-space: nowrap;
  font-family: inherit;
}
.btn-primary {
  background: var(--neu-accent);
  color: #fff;
  box-shadow: 4px 4px 10px #2a5cbf, -2px -2px 6px #5ca5ff;
}
.btn-primary:hover {
  background: var(--neu-accent-dark);
  box-shadow: 6px 6px 12px #1e4fa8, -2px -2px 6px #5ca5ff;
}
.btn-primary:active {
  box-shadow: inset 3px 3px 8px #1e4fa8, inset -2px -2px 5px #5ca5ff;
}
.btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-secondary {
  background: var(--neu-bg);
  color: var(--neu-text);
  box-shadow: var(--neu-raised-sm);
}
.btn-secondary:hover {
  box-shadow: var(--neu-raised-md);
}
.btn-secondary:active {
  box-shadow: var(--neu-inset-sm);
}
.btn-danger {
  background: var(--neu-danger);
  color: #fff;
  box-shadow: 4px 4px 10px #b84444, -2px -2px 6px #ff8080;
}
.btn-danger:hover {
  background: #c94f4f;
}
.btn-danger:active {
  box-shadow: inset 3px 3px 8px #b84444;
}
.card {
  background: var(--neu-bg);
  border-radius: var(--neu-r-md);
  box-shadow: var(--neu-raised-md);
  padding: 1.25rem;
}
.badge {
  display: inline-block;
  padding: 0.2rem 0.7rem;
  border-radius: var(--neu-r-pill);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.badge-draft {
  background: var(--neu-text-light);
  color: #fff;
}
.badge-published {
  background: var(--neu-success);
  color: #fff;
}
.f-connection .f-connection-path {
  fill: none;
  stroke: var(--neu-accent);
  stroke-width: 2px;
}
.f-connection .f-connection-selection {
  fill: none;
  stroke: transparent;
  stroke-width: 14px;
  pointer-events: stroke;
}
.f-connection.f-selected .f-connection-path {
  stroke: var(--brand-primary);
  stroke-width: 3px;
}
f-connection-for-create .f-connection-path {
  fill: none;
  stroke: var(--neu-accent);
  stroke-width: 2px;
  stroke-dasharray: 6 4;
}
f-flow.f-connections-dragging .f-node-input.f-connector-connectable {
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.35);
}
f-minimap svg {
  background: #ffffff;
}
f-minimap .f-minimap-node {
  fill: var(--neu-accent);
  stroke: none;
}
f-minimap .f-minimap-view {
  fill: rgba(59, 130, 246, 0.12);
  stroke: var(--neu-accent);
  stroke-width: 2px;
  vector-effect: non-scaling-stroke;
}
.form-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.form-field label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--neu-text-muted);
}
.form-field input,
.form-field textarea {
  background: var(--neu-bg);
  border: none;
  border-radius: var(--neu-r-sm);
  padding: 0.6rem 0.9rem;
  box-shadow: var(--neu-inset-sm);
  color: var(--neu-text);
  font-size: 0.9rem;
  font-family: inherit;
}
.form-field input:focus,
.form-field textarea:focus {
  outline: none;
  box-shadow: var(--neu-inset-md);
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
