@font-face {
  font-family: Inter;
  src: url('../fonts/inter-400.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('../fonts/inter-500.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('../fonts/inter-700.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --canvas-surface: #f8f8f6;
  --surface-base: #fff;
  --surface-sunken: #f6f6f4;
  --border-default: #e8e8e6;
  --text-primary: #181816;
  --text-secondary: #71716c;
  --text-tertiary: #a1a19d;
  --accent: #5b5ceb;
  --accent-text: #494acf;
  --accent-soft: rgba(91, 92, 235, .12);
  --success-bg: #d1fadf;
  --success-text: #14532d;
  --warning-bg: #fef3c7;
  --warning-text: #92400e;
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-card: 0 0 4px rgb(0 0 0 / .04), 0 4px 8px rgb(0 0 0 / .06);
  --type-card-header: 400 13px/16px Inter, Arial, sans-serif;
  --type-card-title: 500 20px/1.2 Inter, Arial, sans-serif;
  --type-card-copy: 400 12px/1.4 Inter, Arial, sans-serif;
  --type-card-control: 400 13px/18px Inter, Arial, sans-serif;
  --type-card-badge: 500 13px/18px Inter, Arial, sans-serif;
  --feed-card-gap: 14px;
  --feed-toolbar-clearance: 69px;
  --mobile-control-bottom: max(12px, env(safe-area-inset-bottom));
  --mobile-control-height: 40px;
  --mobile-control-radius: 12px;
  --mobile-control-shadow: 0 0 2px rgb(0 0 0 / .04), 0 4px 4px rgb(0 0 0 / .06);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body { color: var(--text-primary); font: 14px/1.4 Inter, Arial, sans-serif; }
button, a { font: inherit; }
button { color: inherit; }

.portfolio {
  position: relative;
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
  background-color: var(--canvas-surface);
  background-image: radial-gradient(circle, #dededa var(--canvas-grid-dot-size, 1px), transparent var(--canvas-grid-dot-edge, 1.2px));
  background-position: var(--canvas-grid-x, 0) var(--canvas-grid-y, 0);
  background-size: var(--canvas-grid-size, 20px) var(--canvas-grid-size, 20px);
}

.portfolio__viewport { position: absolute; inset: 0; overflow: hidden; overscroll-behavior: none; cursor: default; touch-action: none; }
.portfolio[data-canvas-tool="hand"] .portfolio__viewport { cursor: grab; }
.portfolio.is-space-ready .portfolio__viewport { cursor: grab; }
.portfolio.is-panning .portfolio__viewport { cursor: grabbing; }
.portfolio__world { position: absolute; left: 50%; top: 50%; width: 1px; height: 1px; transform-origin: 0 0; }
.portfolio.is-camera-animating .portfolio__world { will-change: transform; }
.portfolio__cards, .portfolio__connectors, .portfolio__connector-points { position: absolute; inset: 0; overflow: visible; }
.portfolio__connectors { z-index: 0; pointer-events: none; }
.portfolio__cards { z-index: 1; }
.portfolio__connector-points { z-index: 2; pointer-events: none; }
.portfolio__connector { fill: none; stroke: #8182f2; stroke-width: 1; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.portfolio__connector--style-dashed { stroke: rgba(129, 130, 242, .48); stroke-dasharray: 5 6; }
.portfolio__connector-point-ring { fill: var(--surface-base); stroke: #8182f2; stroke-width: 1; vector-effect: non-scaling-stroke; }
.portfolio__connector-point-dot { fill: #8182f2; }
.portfolio__connector-point[data-connector-route="space"] .portfolio__connector-point-ring { fill: rgba(91, 92, 235, .12); }
.portfolio__connector-point[data-connector-style="dashed"] .portfolio__connector-point-ring { stroke: rgba(129, 130, 242, .48); }
.portfolio__connector-point[data-connector-style="dashed"] .portfolio__connector-point-dot { fill: rgba(129, 130, 242, .48); }

.portfolio__breadcrumb, .portfolio__team, .portfolio__controls, .portfolio__zoom {
  position: fixed;
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: var(--surface-base);
  border-radius: var(--radius-lg);
  box-shadow: 0 0 2px rgb(0 0 0 / .04), 0 4px 4px rgb(0 0 0 / .06);
}
.portfolio__breadcrumb { top: 20px; left: 20px; min-height: 48px; gap: 14px; padding: 6px 14px 6px 12px; overflow: hidden; font-size: 13px; white-space: nowrap; will-change: width; }
.portfolio__logo { display: block; width: 37px; height: 37px; flex: 0 0 37px; object-fit: contain; }
.portfolio__breadcrumb-trail { display: flex; width: max-content; min-width: max-content; flex: 0 0 auto; align-items: center; gap: 6px; white-space: nowrap; }
.portfolio__breadcrumb-root { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 2px; color: inherit; font-weight: 600; text-decoration: none; white-space: nowrap; }
.portfolio__breadcrumb-root small { padding: 2px 6px; color: var(--accent-text); background: var(--accent-soft); border-radius: 3px; font-size: 11px; font-weight: 500; line-height: 14px; }
.portfolio__breadcrumb-separator { flex: 0 0 auto; color: var(--text-tertiary); }
.portfolio__muted { flex: 0 0 auto; color: var(--text-secondary); white-space: nowrap; }
.portfolio__space-switch { position: relative; display: inline-flex; min-width: 0; flex: 0 0 auto; align-items: center; gap: 2px; padding: 2px 3px 2px 4px; border-radius: var(--radius-sm); font-weight: 600; white-space: nowrap; }
.portfolio__space-current { min-width: 0; overflow: hidden; color: inherit; border-radius: 3px; text-decoration: none; }
.portfolio__space-current:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.portfolio__space-picker { position: relative; display: grid; width: 16px; height: 24px; flex: 0 0 16px; place-items: center; cursor: pointer; }
.portfolio__space-switch select { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; opacity: 0; outline: none; }
.portfolio[data-input-modality="keyboard"] .portfolio__space-switch:has(select:focus) { outline: 2px solid var(--accent); outline-offset: 2px; }
.portfolio__space-label { display: block; width: max-content; }
.portfolio__space-chevron { width: 7px; height: 7px; margin-top: -3px; flex: 0 0 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transform-origin: center; }
.portfolio__case-crumb { display: inline-flex; align-items: center; min-width: 0; max-width: min(360px, 25vw); overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.portfolio__case-crumb::before { margin-right: 10px; color: var(--text-tertiary); content: "›"; }
.portfolio__team { top: 20px; right: 20px; height: 49px; gap: 14px; padding: 6px; }
.portfolio__avatars { display: flex; align-items: center; }
.portfolio__avatars > img, .portfolio__avatars > span { display: grid; width: 36px; height: 36px; margin-right: -8px; flex: 0 0 36px; place-items: center; overflow: hidden; object-fit: cover; background: var(--surface-base); border: 2.4px solid #fafaf9; border-radius: 50%; }
.portfolio__avatars > img[src*="/assets/images/header/avatar-"] { border-width: 0; }
.portfolio__avatars > span { color: var(--accent-text); background: #e5e5ff; font-size: 13px; }
.portfolio__share { position: relative; display: flex; min-width: 0; min-height: 36px; align-items: center; justify-content: flex-start; gap: 6px; overflow: hidden; padding: 10px 12px; color: #fff; background: var(--accent); border: 0; border-radius: var(--radius-md); font-size: 14px; line-height: 1.2; cursor: pointer; }
.portfolio__share img { display: block; width: 16px; height: 16px; flex: 0 0 16px; }
.portfolio__share-label { position: relative; display: block; height: 17px; overflow: hidden; white-space: nowrap; }
.portfolio__share-label-track { position: relative; display: block; }
.portfolio__share-label-text { display: block; width: max-content; white-space: nowrap; }
.portfolio__share-label-text--copied { position: absolute; top: 0; left: 0; visibility: hidden; }
.portfolio__share:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.portfolio__zoom { bottom: 13px; left: 20px; display: flex; width: 142px; height: 40px; gap: 0; padding: 3px; transition: opacity .2s ease, transform .25s ease, visibility 0s linear; }
.portfolio__zoom-action, .portfolio__zoom-trigger { height: 34px; padding: 0; color: var(--text-primary); background: transparent; border: 0; border-radius: var(--radius-sm); cursor: pointer; }
.portfolio__zoom-action { display: grid; width: 34px; flex: 0 0 34px; place-items: center; }
.portfolio__zoom-action img { display: block; width: 12.25px; height: 12.25px; pointer-events: none; }
.portfolio__zoom-trigger { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; justify-content: center; gap: 6px; padding-inline: 6px; font: var(--type-card-control); font-variant-numeric: tabular-nums; }
.portfolio__zoom-action:hover, .portfolio__zoom-trigger:hover { background: var(--surface-sunken); }
.portfolio__zoom-action:disabled { cursor: default; opacity: .32; }
.portfolio__zoom-action:disabled:hover { background: transparent; }
.portfolio__zoom-action:focus-visible, .portfolio__zoom-trigger:focus-visible, .portfolio__zoom-option:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.portfolio__zoom-chevron { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; }
.portfolio__zoom[data-open="true"] .portfolio__zoom-chevron { transform: translateY(2px) rotate(225deg); }
.portfolio__zoom-menu { position: absolute; bottom: calc(100% + 8px); left: 50%; display: grid; width: 84px; max-height: min(320px, calc(100dvh - 88px)); overflow-y: auto; padding: 6px; background: var(--surface-base); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); transform: translateX(-50%); }
.portfolio__zoom-option { display: flex; width: 100%; min-height: 28px; align-items: center; justify-content: flex-start; padding: 5px 8px; color: var(--text-secondary); background: transparent; border: 0; border-radius: var(--radius-sm); font: var(--type-card-control); cursor: pointer; }
.portfolio__zoom-option:hover { color: var(--text-primary); background: var(--surface-sunken); }
.portfolio__zoom-option[aria-selected="true"] { color: #fff; background: var(--accent); }
.portfolio.is-feed .portfolio__zoom, .portfolio.has-open-case .portfolio__zoom { visibility: hidden; opacity: 0; transform: translateY(12px); pointer-events: none; }
.portfolio__controls { --toolbar-canvas-width: 212px; --toolbar-feed-width: 86px; --toolbar-switch-canvas-left: 132px; --toolbar-switch-feed-left: 6px; bottom: 13px; left: 50%; display: block; width: var(--toolbar-canvas-width); height: 40px; padding: 0; transform: translateX(-50%); transition: opacity .2s ease, transform .25s ease, visibility 0s linear; will-change: width; }
.portfolio__controls[data-toolbar-mode="feed"] { width: var(--toolbar-feed-width); }
.portfolio__controls[data-toolbar-mode="feed"] .portfolio__tool,
.portfolio__controls[data-toolbar-mode="feed"] .portfolio__controls-divider { visibility: hidden; opacity: 0; pointer-events: none; }
.portfolio__controls[data-toolbar-mode="feed"] .portfolio__view-switch { left: var(--toolbar-switch-feed-left); }
.portfolio__tool, .portfolio__view-option { display: grid; width: 28px; height: 28px; min-width: 28px; min-height: 28px; padding: 4px; place-items: center; background: transparent; border: 0; border-radius: var(--radius-md); cursor: pointer; }
.portfolio__tool { position: absolute; top: 6px; color: var(--text-primary); }
.portfolio__tool[data-canvas-tool="pointer"] { left: 6px; }
.portfolio__tool[data-canvas-tool="hand"] { left: 48px; }
.portfolio__tool[data-canvas-fit] { left: 90px; }
.portfolio__view-option img { display: block; }
.portfolio__tool-icon { position: absolute; display: block; background-color: currentColor; mask: var(--tool-icon) center / contain no-repeat; -webkit-mask: var(--tool-icon) center / contain no-repeat; transition: background-color .15s ease; }
.portfolio__tool[data-canvas-tool="pointer"] .portfolio__tool-icon { top: 7.33px; left: 7.33px; width: 14.17px; height: 14.17px; }
.portfolio__tool[data-canvas-tool="hand"] .portfolio__tool-icon { top: 5.67px; left: 5.58px; width: 16.76px; height: 16.67px; }
.portfolio__tool[data-canvas-fit] .portfolio__tool-icon { top: 6.5px; left: 6.5px; width: 15px; height: 15px; }
.portfolio__tool.is-active, .portfolio__tool[aria-pressed="true"] { color: #fff; background: var(--accent); }
.portfolio__tool:focus-visible, .portfolio__view-option:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.portfolio__controls-divider { position: absolute; top: 0; left: 113.5px; width: 17px; height: 56px; margin-top: -4px; pointer-events: none; }
.portfolio__view-switch { position: absolute; top: 6px; left: var(--toolbar-switch-canvas-left); display: grid; width: 74px; height: 28px; padding: 2px; grid-template-columns: repeat(2, 1fr); background: #f1f1ef; border: 1px solid var(--border-default); border-radius: 8px; }
.portfolio__view-pill { position: absolute; z-index: 1; top: 2px; left: 2px; width: 34px; height: 22px; background: var(--surface-base); border: 1px solid #dededb; border-radius: 6px; box-shadow: 0 1px 2px rgb(0 0 0 / .06); transform: translateX(0); transition: transform .22s cubic-bezier(.2, .8, .2, 1); }
.portfolio__view-switch[data-mode="feed"] .portfolio__view-pill { transform: translateX(34px); }
.portfolio__view-option { position: relative; z-index: 2; width: 34px; min-width: 34px; height: 22px; min-height: 22px; padding: 0; background: transparent; border: 0; border-radius: 6px; }
.portfolio__view-option[data-view-mode="canvas"], .portfolio__view-option[data-view-mode="feed"] { inset: auto; }
.portfolio__view-icon { position: absolute; top: 3.5px; left: 9.5px; width: 15px; height: 15px; }
.portfolio__view-icon--muted, .portfolio__view-option:not(.is-active) .portfolio__view-icon--active { display: none; }
.portfolio__view-option:not(.is-active) .portfolio__view-icon--muted { display: block; }

.canvas-card {
  position: absolute;
  width: var(--card-width, 380px);
  overflow: hidden;
  background: var(--surface-base);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  user-select: none;
  touch-action: none;
}
.canvas-card.is-loading { pointer-events: none; }
.canvas-card.is-loading > .canvas-card__important,
.canvas-card.is-loading > .canvas-card__frame > .canvas-card__header,
.canvas-card.is-loading > .canvas-card__frame > .canvas-card__body { opacity: 0; }
.canvas-card__skeleton { position: absolute; z-index: 5; inset: 0; display: grid; grid-template-rows: 32px minmax(44px, 1fr) 12px 12px; align-content: stretch; gap: 10px; padding: 0 16px 16px; overflow: hidden; background: var(--surface-base); pointer-events: none; }
.canvas-card__skeleton::after { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 36%, rgb(255 255 255 / .66) 48%, transparent 60%); content: ""; transform: translateX(-120%); animation: canvas-card-skeleton-shimmer 1.05s ease-in-out infinite; }
.canvas-card__skeleton-header { margin-inline: -16px; background: var(--surface-sunken); border-bottom: 1px solid var(--border-default); }
.canvas-card__skeleton-media,
.canvas-card__skeleton-line { display: block; background: #ececea; border-radius: var(--radius-sm); }
.canvas-card__skeleton-media { min-height: 44px; margin-top: 6px; }
.canvas-card__skeleton-media[hidden] { display: none; }
.canvas-card__skeleton-line { height: 12px; }
.canvas-card__skeleton-line--long { width: 76%; }
.canvas-card__skeleton-line--short { width: 48%; }
@keyframes canvas-card-skeleton-shimmer { to { transform: translateX(120%); } }
.canvas-card.is-dragging { cursor: grabbing; box-shadow: 0 12px 30px rgb(0 0 0 / .16); }
.canvas-card:focus { outline: none; }
.portfolio[data-input-modality="keyboard"] .canvas-card:focus { outline: 3px solid var(--accent); outline-offset: 4px; }
.canvas-card[data-size="small"] { --card-width: 240px; }
.canvas-card[data-size="medium"] { --card-width: 380px; }
.canvas-card[data-size="large"] { --card-width: 420px; }
.canvas-card[data-size="persona"] { --card-width: 522px; }
.canvas-card[data-card-type="contacts"] { --card-width: 180px; }
.canvas-card[data-card-type="clients"] { --card-width: 413px; }
.canvas-card[data-card-type="sandbox"] { --card-width: 318px; }
.canvas-card[data-card-type="project"] { --card-width: 380px; }
.canvas-card[data-card-type="article"] { --card-width: 420px; }
.canvas-card__frame { display: contents; }
.canvas-card__important { display: none; }
.canvas-card[data-important="true"] {
  width: calc(var(--card-width, 380px) + 4px);
  padding: 2px;
  gap: 2px;
  flex-direction: column;
  overflow: hidden;
  background: var(--card-important-color, #f7494a);
  border: 0;
  border-radius: 10px;
}
.canvas-card[data-important="true"]:not([hidden]) { display: flex; }
.canvas-card[data-important="true"] .canvas-card__important {
  display: flex;
  width: 100%;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px 10px;
  color: #fff;
  background: var(--card-important-color, #f7494a);
  border-radius: 8px 8px 0 0;
  font: 500 13px/18px Inter, Arial, sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
}
.canvas-card__important-icon { display: block; width: 16px; height: 16px; flex: 0 0 16px; background: currentColor; mask: var(--important-icon) center / contain no-repeat; -webkit-mask: var(--important-icon) center / contain no-repeat; }
.canvas-card[data-important="true"] .canvas-card__frame { display: block; width: 100%; overflow: hidden; background: var(--surface-base); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.canvas-card__header { display: flex; height: 32px; min-height: 32px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; color: var(--text-tertiary); background: var(--surface-sunken); border-bottom: 1px solid var(--border-default); font: var(--type-card-header); }
.canvas-card__eyebrow { display: inline-flex; height: 16px; align-items: center; gap: 4px; }
.canvas-card__type-icon { display: block; width: 15px; height: 15px; flex: 0 0 15px; background-color: currentColor; mask: var(--card-icon) center / contain no-repeat; -webkit-mask: var(--card-icon) center / contain no-repeat; }
.canvas-card__header-meta { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.canvas-card__header-meta span { display: inline-flex; align-items: center; gap: 4px; }
.canvas-card__header-meta time { font: inherit; font-variant-numeric: tabular-nums; }
.canvas-card__local-clock { display: inline-flex; align-items: center; gap: 4px; }
.canvas-card__ui-icon { display: block; width: 16px; height: 16px; flex: 0 0 16px; background-color: currentColor; mask: var(--ui-icon) center / contain no-repeat; -webkit-mask: var(--ui-icon) center / contain no-repeat; }
.canvas-card__header-meta-icon { width: 18px; height: 18px; flex-basis: 18px; }
.canvas-card__time-icon { width: 18px; height: 18px; flex-basis: 18px; }
.canvas-card__city-emblem { color: inherit; }
.canvas-card__body { display: grid; gap: 16px; padding: 16px; }
.canvas-card__body--persona { gap: 16px; }
.canvas-card__body--article { gap: 12px; }
.canvas-card__article-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--text-tertiary); font: var(--type-card-header); }
.canvas-card__article-meta > * + *::before { margin-right: 12px; content: "·"; }
.canvas-card__title { margin: 0; font: var(--type-card-title); text-wrap: balance; }
.canvas-card__description { margin: 0; color: var(--text-secondary); font: var(--type-card-copy); text-wrap: pretty; }
.canvas-card__description strong { font-weight: 700; }
.canvas-card__description > * { margin-block: 0; }
.canvas-card__description > * + * { margin-top: 8px; }
.canvas-card__description :where(h1, h2, h3, h4, h5, h6) { color: var(--text-primary); font: inherit; font-weight: 600; }
.canvas-card__description :where(ul, ol) { padding-inline-start: 18px; }
.canvas-card__description blockquote { padding-inline-start: 10px; border-inline-start: 2px solid var(--border-default); }
.canvas-card__description a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.canvas-card__description img { display: block; max-width: 100%; height: auto; }
.canvas-card__media { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: transparent; }
.canvas-card__persona { display: grid; grid-template-columns: 140px 1fr; gap: 12px; }
.canvas-card__persona-details { display: flex; flex-direction: column; gap: 12px; }
.canvas-card__persona-heading { display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.2; }
.canvas-card__avatar { width: 140px; height: 205px; object-fit: cover; object-position: center 26%; filter: grayscale(1); border-radius: var(--radius-sm); }
.canvas-card__tags { display: flex; flex-wrap: wrap; gap: 2px; }
.canvas-card__tag { display: inline-flex; min-height: 26px; align-items: center; justify-content: center; gap: 7px; padding: 4px 8px; border-radius: var(--radius-sm); font: var(--type-card-badge); white-space: nowrap; }
.canvas-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 8px; box-shadow: inset 0 1px var(--border-default); }
.canvas-card__status { display: inline-flex; min-height: 26px; align-items: center; justify-content: center; gap: 7px; padding: 4px 10px; border-radius: var(--radius-sm); font: var(--type-card-badge); white-space: nowrap; }
.canvas-card__tag-dot { width: 5px; height: 5px; flex: 0 0 5px; background: currentColor; border-radius: 50%; }
.canvas-card__tag-icon { width: 12px; height: 12px; flex: 0 0 12px; background: currentColor; -webkit-mask: var(--tag-icon) center / contain no-repeat; mask: var(--tag-icon) center / contain no-repeat; }
.canvas-card__tag[data-tone="accent"], .canvas-card__status[data-tone="accent"] { color: var(--accent-text); background: var(--accent-soft); }
.canvas-card__tag[data-tone="success"], .canvas-card__status[data-tone="success"] { color: var(--success-text); background: var(--success-bg); }
.canvas-card__tag[data-tone="warning"], .canvas-card__status[data-tone="warning"] { color: var(--warning-text); background: var(--warning-bg); }
.canvas-card__tag[data-tone="production"], .canvas-card__status[data-tone="production"] { color: #2563eb; background: #eff6ff; }
.canvas-card__tag[data-tone="danger"], .canvas-card__status[data-tone="danger"] { color: #b42318; background: #fef3f2; }
.canvas-card__tag[data-tone="neutral"], .canvas-card__status[data-tone="neutral"] { color: var(--text-secondary); background: var(--surface-sunken); }
.canvas-card__action { display: inline-flex; min-height: 28px; align-items: center; justify-content: center; gap: 4px; padding: 4px 12px; margin: 0; appearance: none; color: inherit; background: var(--surface-base); text-decoration: none; border: 1px solid var(--border-default); border-radius: var(--radius-sm); font: var(--type-card-control); white-space: nowrap; }
.canvas-card[data-important="true"] .canvas-card__action[data-case-link] { color: #fff; background: var(--accent); border-color: var(--accent); }
.canvas-card[data-important="true"] .canvas-card__action[data-article-link] { color: #fff; background: var(--accent); border-color: var(--accent); }
.canvas-card[data-important="true"] .canvas-card__action[data-case-link]:hover { background: #4f50d8; border-color: #4f50d8; }
.canvas-card__action:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.canvas-card__action.is-disabled { color: var(--text-tertiary); background: var(--surface-sunken); cursor: default; opacity: 1; }
.canvas-card__action-arrow { width: 11px; height: 11px; min-width: 11px; min-height: 11px; flex: 0 0 11px; }
.canvas-card__action-icon { width: 14px; height: 14px; min-width: 14px; min-height: 14px; flex: 0 0 14px; }
.canvas-card__like { position: relative; gap: 6px; cursor: pointer; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.canvas-card__like-heart { position: relative; display: inline-grid; width: 14px; height: 14px; place-items: center; color: var(--text-tertiary); }
.canvas-card__like-icon { position: relative; z-index: 1; color: inherit; }
.canvas-card__like-pulse { position: absolute; z-index: 0; inset: -4px; border: 1px solid currentColor; border-radius: 50%; opacity: 0; pointer-events: none; }
.canvas-card__like-count { min-width: 1ch; font-variant-numeric: tabular-nums; text-align: left; }
.canvas-card__like[data-like-state="liked"] { color: #b4233e; background: #fff5f6; border-color: #f4c8cf; }
.canvas-card__like[data-like-state="liked"] .canvas-card__like-heart { color: #e53e5d; }
.canvas-card__like[aria-busy="true"] { cursor: wait; opacity: .68; }
.canvas-card__like[data-like-state="error"] { color: #b42318; border-color: #f4b8b2; }
.canvas-card__contacts { display: grid; gap: 10px; }
.canvas-card__contact { display: flex; align-items: center; gap: 6px; padding: 0; color: inherit; background: transparent; border: 0; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.canvas-card__contact:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
.canvas-card__contact.is-copied .canvas-card__contact-trailing { color: var(--success-text); transform: scale(1.08); }
.portfolio__noscript-case { position: absolute; z-index: 120; inset: 72px max(16px, 8vw) 24px; overflow: auto; background: var(--surface-base); }
.canvas-card__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; margin: -1px; white-space: nowrap; clip-path: inset(50%); border: 0; }
.portfolio__cards .canvas-card__contacts { gap: 20px; padding-block: 16px; }
.portfolio__cards .canvas-card__contact { min-height: 20px; }
.canvas-card__contact { font-size: 16px; line-height: 1.2; }
.canvas-card__contact img { width: 20px; height: 20px; object-fit: contain; }
.canvas-card__contact-trailing { width: 12px; height: 12px; flex-basis: 12px; color: var(--text-tertiary); transition: color 160ms ease, transform 160ms ease; }
.canvas-card__entities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.canvas-card__entity { display: flex; min-width: 0; min-height: 32px; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.canvas-card__entity:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
.canvas-card__entity img { width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; border-radius: var(--radius-md); }
.canvas-card__entity span { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; font-size: 13px; line-height: 1.2; font-weight: 400; }
.canvas-card__entity strong { font-weight: 400; }
.canvas-card__entity small { color: var(--text-secondary); font-size: 11px; line-height: 1.4; font-weight: 400; }
.canvas-card__title, .canvas-card__description, .canvas-card__persona-heading, .canvas-card__entity span, .canvas-card__contact span, .canvas-card__tag, .canvas-card__status { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.canvas-card__persona-heading, .canvas-card__entity span { text-wrap: pretty; }
.canvas-card[data-card-type="clients"] .canvas-card__body { gap: 12px; }
.canvas-card[data-card-type="clients"] .canvas-card__entities { grid-template-columns: 143px minmax(0, 1fr); column-gap: 16px; row-gap: 12px; }
.canvas-card[data-card-type="results"] .canvas-card__body { gap: 12px; }
.canvas-card[data-card-type="sandbox"] .canvas-card__body { gap: 12px; }

.portfolio__feed { position: absolute; inset: 0; z-index: 20; width: 100%; height: 100%; overflow: hidden; padding: 89px 20px 0; background-color: var(--canvas-surface); background-image: radial-gradient(circle, #dededa 1px, transparent 1.2px); background-size: 20px 20px; touch-action: pan-y; }
.portfolio__feed-grid { display: grid; grid-template-areas: "left main right"; grid-template-columns: 364px 742px 318px; grid-template-rows: minmax(0, 1fr); align-items: start; justify-content: start; gap: 18px; width: min(1508px, 100%); height: 100%; min-height: 0; margin-inline: auto; }
.portfolio__feed-rail { display: contents; }
.portfolio__feed-column { display: grid; grid-auto-rows: max-content; align-content: start; gap: var(--feed-card-gap); }
.portfolio__feed-column--side { will-change: transform; }
.portfolio__feed-column--side:not(.portfolio__feed-column--right) { grid-area: left; }
.portfolio__feed-column--main { grid-area: main; height: auto; max-height: 100%; min-height: 0; align-self: stretch; overflow-y: auto; padding-bottom: var(--feed-toolbar-clearance); overscroll-behavior: contain; scrollbar-width: none; }
.portfolio__feed-column--right { grid-area: right; }
.portfolio__feed-column--main::-webkit-scrollbar { width: 0; height: 0; }
.portfolio__feed-column--main:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.portfolio__feed .canvas-card { position: relative; width: 100%; user-select: text; touch-action: pan-y; }
.canvas-card.is-view-transitioning { pointer-events: none; will-change: transform, opacity; }
.canvas-card.is-case-background, .portfolio__connectors.is-case-background, .portfolio__connector-points.is-case-background { will-change: opacity; }
.portfolio.has-clean-document-background .portfolio__viewport .canvas-card,
.portfolio.has-clean-document-background .portfolio__viewport .portfolio__connectors,
.portfolio.has-clean-document-background .portfolio__viewport .portfolio__connector-points,
.portfolio.has-clean-document-background .portfolio__feed .canvas-card { opacity: 0 !important; }
.portfolio.is-view-transitioning .portfolio__viewport, .portfolio.is-view-transitioning .portfolio__feed,
.portfolio.is-space-transitioning .portfolio__viewport, .portfolio.is-space-transitioning .portfolio__feed { pointer-events: none; }
.portfolio__feed-column--main .canvas-card__media { height: auto; max-height: none; }
.portfolio__feed-column--side .canvas-card__persona { grid-template-columns: 147px 1fr; }
.portfolio__feed-column--side .canvas-card__persona-details { display: contents; }
.portfolio__feed-column--side .canvas-card__persona-heading { grid-column: 2; }
.portfolio__feed-column--side .canvas-card__persona .canvas-card__description,
.portfolio__feed-column--side .canvas-card__persona .canvas-card__tags { grid-column: 1 / -1; }
.portfolio__feed-column--side .canvas-card__avatar { grid-column: 1; grid-row: 1; width: 147px; height: 172px; min-height: 0; }
.portfolio__feed-column--side .canvas-card__contacts { display: flex; flex-wrap: wrap; gap: 20px; }
.portfolio__feed-column--side .canvas-card__contact { min-width: max-content; }
.portfolio__feed-column--side .canvas-card__entities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portfolio__feed .canvas-card[data-card-type="clients"] .canvas-card__entities { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 16px; row-gap: 12px; }
.portfolio__feed .canvas-card[data-card-type="clients"] .canvas-card__entity { max-width: 100%; flex: 0 0 auto; }
.portfolio.is-feed .portfolio__viewport { display: none; }
.portfolio.is-feed { background-image: none; }
.portfolio__case-layer { position: fixed; z-index: 60; inset: 79px 20px 20px; display: grid; place-items: start center; min-height: 0; pointer-events: auto; }
.portfolio__case-layer .portfolio__case-document { display: flex; width: min(var(--case-shell-max), 100%); max-height: 100%; min-height: 0; margin: 0; flex-direction: column; }
.portfolio__case-document.is-transitioning { pointer-events: none; will-change: transform, opacity, border-radius; }
.portfolio__case-document .case-document__bar { flex: 0 0 auto; align-items: center; }
.portfolio__case-scroll { position: relative; flex: 0 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.portfolio__case-close {
  display: grid; width: 15px; height: 15px; padding: 0; place-items: center; flex: 0 0 15px;
  appearance: none; color: var(--text-primary); background: transparent; border: 0; border-radius: 2px; cursor: pointer;
}
.portfolio__case-close img { display: block; width: 8.5px; height: 8.5px; pointer-events: none; }
.portfolio__case-close:hover { opacity: .62; }
.portfolio__case-close:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.portfolio__case-loading, .portfolio__case-error { margin: auto; padding: 48px 20px; text-align: center; }
.portfolio__case-retry { margin-top: 12px; padding: 7px 12px; color: inherit; background: var(--surface-base); border: 1px solid var(--border-default); border-radius: var(--radius-sm); }
.portfolio.has-open-case .portfolio__viewport, .portfolio.has-open-case .portfolio__feed { pointer-events: none; }
.portfolio.has-open-case .portfolio__controls { visibility: hidden; opacity: 0; transform: translateX(-50%) translateY(12px); pointer-events: none; transition-delay: 0s, 0s, .25s; }

@media (max-width: 820px) {
  .portfolio__zoom,
  .portfolio__controls {
    bottom: var(--mobile-control-bottom);
    height: var(--mobile-control-height);
    background: var(--surface-base);
    border: 0;
    border-radius: var(--mobile-control-radius);
    box-shadow: var(--mobile-control-shadow);
  }
  .portfolio__zoom { left: 12px; }
}
.fallback-page { max-width: 760px; margin: 80px auto; padding: 20px; }

body.admin-bar .portfolio { height: calc(100dvh - var(--dlykin-admin-bar-offset, 32px)); }
body.admin-bar .portfolio__breadcrumb { top: calc(var(--dlykin-admin-bar-offset, 32px) + 20px); }
body.admin-bar .portfolio__team { top: calc(var(--dlykin-admin-bar-offset, 32px) + 20px); }
body.admin-bar .portfolio__case-layer { top: calc(var(--dlykin-admin-bar-offset, 32px) + 79px); }

@media (max-width: 820px) {
  .portfolio__feed { overflow-y: auto; padding: 76px 16px 0; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; }
  .portfolio__feed-grid { display: flex; height: auto; min-height: 100%; padding-bottom: calc(var(--feed-toolbar-clearance) - var(--feed-card-gap)); flex-direction: column; }
  .portfolio__feed-rail { display: contents; }
  .portfolio__feed-column { display: contents; }
  .portfolio__feed-column--side:not(.portfolio__feed-column--right) { order: 1; }
  .portfolio__feed-column--main { order: 2; }
  .portfolio__feed-column--right { order: 3; }
  .portfolio__feed-column--main { height: auto; overflow: visible; }
  .portfolio__feed .canvas-card { margin-bottom: var(--feed-card-gap); }
  .portfolio__feed-column--side .canvas-card__persona { grid-template-columns: 96px 1fr; }
  .portfolio__feed-column--side .canvas-card__avatar { width: 96px; height: 150px; }
}

@media (max-width: 700px) {
  .portfolio__breadcrumb {
    top: 12px;
    right: 12px;
    left: 12px;
    width: fit-content;
    max-width: calc(100vw - 24px);
    gap: 10px;
    padding: 6px 12px;
  }
  .portfolio__team { display: none; }
  .portfolio__breadcrumb-trail { width: auto; min-width: 0; flex: 1 1 auto; overflow: hidden; }
  .portfolio__breadcrumb-root small,
  .portfolio__breadcrumb .portfolio__muted,
  .portfolio__breadcrumb-separator:not(.portfolio__breadcrumb-separator--terminal) { display: none; }
  .portfolio__breadcrumb-separator--terminal { display: inline; }
  .portfolio__space-switch { min-width: 0; max-width: 100%; flex: 1 1 auto; overflow: hidden; }
  .portfolio__space-label { width: auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .portfolio.has-open-case .portfolio__space-switch { flex: 0 0 auto; padding-inline: 0; overflow: visible; }
  .portfolio.has-open-case .portfolio__space-current { display: none; }
  .portfolio__case-crumb { min-width: 0; max-width: none; flex: 1 1 auto; }
  .portfolio__case-crumb::before { margin-right: 6px; }
  .canvas-card[data-size] { --card-width: min(380px, calc(100vw - 32px)); }
  .canvas-card__persona { grid-template-columns: 96px 1fr; }
  .canvas-card__avatar { width: 96px; min-height: 150px; }
  .portfolio__case-layer { inset: 64px 8px 8px; }
  .portfolio__zoom { width: 96px; padding: 2px; }
  .portfolio__zoom-action { width: 28px; height: 36px; flex-basis: 28px; }
  .portfolio__zoom-trigger { height: 36px; gap: 0; padding-inline: 2px; }
  .portfolio__zoom-chevron { display: none; }
  .portfolio__controls { left: calc(50% + 26px); }
  .portfolio.is-feed .portfolio__controls { left: 50%; }
}

@media (max-width: 414px) {
  .portfolio__controls {
    --toolbar-canvas-width: 196px;
    --toolbar-switch-canvas-left: 116px;
  }
  .portfolio__tool[data-canvas-tool="pointer"] { left: 6px; }
  .portfolio__tool[data-canvas-tool="hand"] { left: 42px; }
  .portfolio__tool[data-canvas-fit] { left: 78px; }
  .portfolio__controls-divider { left: 103px; }
}

@media (max-width: 380px) {
  .portfolio__controls {
    --toolbar-canvas-width: 184px;
    --toolbar-switch-canvas-left: 104px;
  }
  .portfolio__tool[data-canvas-tool="pointer"] { left: 4px; }
  .portfolio__tool[data-canvas-tool="hand"] { left: 36px; }
  .portfolio__tool[data-canvas-fit] { left: 68px; }
  .portfolio__controls-divider { left: 91px; }
}

@media (max-width: 350px) {
  .portfolio__controls {
    --toolbar-canvas-width: 150px;
    --toolbar-switch-canvas-left: 86px;
  }
  .portfolio__tool[data-canvas-tool="pointer"] { left: 2px; }
  .portfolio__tool[data-canvas-tool="hand"] { left: 31px; }
  .portfolio__tool[data-canvas-fit] { left: 60px; }
  .portfolio__controls-divider { left: 78px; }
  .portfolio__view-switch { width: 64px; }
  .portfolio__view-pill { width: 29px; }
  .portfolio__view-switch[data-mode="feed"] .portfolio__view-pill { transform: translateX(29px); }
  .portfolio__view-option { width: 29px; min-width: 29px; }
  .portfolio__view-icon { left: 7px; }
}

@media (min-width: 821px) and (max-width: 1547px) {
  .portfolio__feed { padding-inline: 16px; }
  .portfolio__feed-grid {
    width: min(1124px, 100%);
    grid-template-areas: "rail main";
    grid-template-columns: minmax(280px, 364px) minmax(0, 742px);
    grid-template-rows: minmax(0, 1fr);
    column-gap: 18px;
  }
  .portfolio__feed-rail { display: grid; grid-area: rail; align-content: start; gap: var(--feed-card-gap); will-change: transform; }
  .portfolio__feed-column--side:not(.portfolio__feed-column--right), .portfolio__feed-column--right { grid-area: auto; }
  .portfolio__feed-column--main { grid-area: main; }
  .portfolio__feed-column--right { display: grid; }
}

@media (min-width: 821px) {
  .portfolio:not([data-space-kind="portfolio"]) .portfolio__feed-grid {
    width: min(742px, 100%);
    grid-template-areas: "main";
    grid-template-columns: minmax(0, 742px);
    justify-content: center;
    column-gap: 0;
  }
  .portfolio:not([data-space-kind="portfolio"]) .portfolio__feed-rail { display: none; }
  .portfolio:not([data-space-kind="portfolio"]) .portfolio__feed-column--main { grid-area: main; }
}

@media (max-width: 782px) {
  body.admin-bar .portfolio { height: calc(100dvh - var(--dlykin-admin-bar-offset, 46px)); }
  body.admin-bar .portfolio__breadcrumb { top: calc(var(--dlykin-admin-bar-offset, 46px) + 12px); }
  body.admin-bar .portfolio__team { top: calc(var(--dlykin-admin-bar-offset, 46px) + 12px); }
  body.admin-bar .portfolio__case-layer { top: calc(var(--dlykin-admin-bar-offset, 46px) + 64px); }
}

@media (prefers-reduced-motion: reduce) {
  .canvas-card__skeleton::after { animation: none; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
