/* SampleNova v0.9 — final cascade loaded after the legacy prototype layers. */

body,
button,
input,
select,
textarea {
  font-family: Manrope, "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  box-shadow: 0 0 0 2px var(--nova-night), 0 0 0 4px var(--nova-pink);
}

#workspace-content:focus-visible { outline: none; box-shadow: none; }

.source-switcher > span,
.prototype-badge,
.eyebrow,
.host-kicker,
.summary-card span {
  font-family: Manrope, "Noto Sans SC", sans-serif;
  font-weight: 500;
}

.browser-chrome { background: rgba(10, 9, 13, .91); }
.browser-dots span:nth-child(3), .caption-dot, .online-dot { background: var(--nova-pink) !important; box-shadow: 0 0 0 4px rgba(255, 79, 163, .09) !important; }
.host-page { background: radial-gradient(circle at 9% 18%, rgba(97, 56, 255, .12), transparent 27%), radial-gradient(circle at 86% 42%, rgba(255, 79, 163, .075), transparent 25%); }
.host-kicker { color: var(--nova-pink-soft); }
.host-title { max-width: 900px; font-weight: 300; letter-spacing: -.062em; }
.host-filter.is-active { color: var(--nova-night); border-color: var(--nova-paper); background: var(--nova-paper); }
.source-card:hover, .source-card.is-selected { border-color: rgba(255, 79, 163, .48); box-shadow: 0 18px 52px rgba(0, 0, 0, .28), 0 0 0 1px rgba(97, 56, 255, .12); }
.source-card.is-selected::after { color: var(--nova-night); background: var(--nova-pink); }
.source-card h2 { font-weight: 400; }

.companion { right: 17px; bottom: 17px; width: 54px; height: 210px; }
.companion::before { right: 3px; bottom: -3px; width: 48px; height: 198px; border-color: rgba(241, 236, 223, .14); border-radius: 27px; background: rgba(14, 12, 18, .92); box-shadow: 0 20px 55px rgba(0, 0, 0, .54), inset 0 1px 0 rgba(255, 255, 255, .045); }
.capture-orb { width: 48px; height: 48px; border: 1px solid rgba(241, 236, 223, .42); background: radial-gradient(circle at 34% 26%, rgba(255, 79, 163, .16), transparent 34%), #100d15; box-shadow: 0 12px 31px rgba(0, 0, 0, .56), inset 0 1px 0 rgba(255, 255, 255, .08); }
.capture-orb::before { inset: 3px; border-color: rgba(241, 236, 223, .09); border-top-color: rgba(255, 79, 163, .7); border-right-color: rgba(97, 56, 255, .7); background: transparent; opacity: .24; }
.capture-orb::after { display: none; content: none; }
.capture-orb:hover, .capture-orb[aria-expanded="true"] { border-color: rgba(255, 156, 202, .86); box-shadow: 0 17px 42px rgba(0, 0, 0, .64), 0 0 0 4px rgba(255, 79, 163, .11), 0 0 28px rgba(97, 56, 255, .18); }
.samplepath-mark { width: 36px; height: 36px; fill: none; }
.samplepath-mark .mark-loop { fill: none; stroke-width: 4.1; stroke-linecap: round; }
.samplepath-mark .mark-loop--pink { stroke: var(--nova-pink); }
.samplepath-mark .mark-loop--violet { stroke: var(--nova-violet-soft); }
.samplepath-mark .mark-s { fill: none; stroke: var(--nova-paper); stroke-width: 6.2; stroke-linecap: round; stroke-linejoin: round; }
.samplepath-mark .mark-star { fill: var(--nova-acid); stroke: none; filter: drop-shadow(0 0 7px rgba(240, 255, 88, .46)); }
.dock-actions { right: 9px; bottom: 58px; gap: 7px; }
.dock-action, .dock-action--library, .dock-action--resolve, .dock-action--mission { width: 36px; height: 36px; color: var(--nova-paper-dim); border-color: rgba(241, 236, 223, .12); background: rgba(28, 23, 33, .92); box-shadow: 0 8px 18px rgba(0, 0, 0, .28); }
.dock-action:hover, .dock-action:focus-visible { color: var(--nova-night); border-color: var(--nova-pink); background: var(--nova-pink); }
.orb-hint { right: 62px; bottom: 8px; }

.capture-popover,
.workspace-shell,
.modal-card {
  --ink-950: var(--nova-paper);
  --ink-900: var(--nova-paper);
  --ink-800: #ddd6cc;
  --ink-700: #c0b8c0;
  --ink-600: #9c94a0;
  --ink-500: #7c7581;
  --ink-300: #49424e;
  --ink-200: #322c37;
  --ink-100: #27222d;
  --ink-50: #1d1921;
  --paper: var(--nova-panel);
  --teal-700: var(--nova-pink);
  --teal-600: var(--nova-pink);
  --teal-500: var(--nova-pink-soft);
  --teal-100: rgba(255, 79, 163, .16);
  --teal-50: rgba(255, 79, 163, .07);
  --violet-600: var(--nova-violet-soft);
  --violet-100: rgba(97, 56, 255, .17);
  --border: var(--nova-line);
}

.capture-popover { border-color: rgba(241, 236, 223, .14); background: rgba(17, 14, 21, .985); box-shadow: var(--nova-shadow), inset 0 1px 0 rgba(255, 255, 255, .04); }
.capture-header h1, .page-header h1, .modal-header h2 { font-weight: 300; }
.capture-resize-handle:hover, .capture-resize-handle:focus-visible { color: var(--nova-pink); border-color: rgba(255, 79, 163, .24); background: rgba(255, 79, 163, .06); }
.capture-resize-handle small, .capture-details summary::after { color: var(--nova-night); background: var(--nova-pink); }
.mode-dot--build { background: var(--nova-pink); }
.mode-dot--explore { background: var(--nova-violet-soft); }
.capture-popover #mode-build.is-active { color: var(--nova-night); background: var(--nova-pink); }
.capture-popover #mode-build.is-active .mode-dot { background: var(--nova-night); }
.capture-popover #mode-explore.is-active, .detected-tags button.is-selected, .prompt-strip button.is-selected { color: white; background: var(--nova-violet); }
.context-card--build { border-color: rgba(255, 79, 163, .18) !important; background: rgba(255, 79, 163, .035) !important; }
.source-chip { color: var(--nova-pink-soft); border-color: rgba(255, 79, 163, .2); background: rgba(255, 79, 163, .07); }
.text-button, .inline-link, .voice-button { color: var(--nova-pink-soft); }
.state-choice input:checked + span { color: var(--nova-night); border-color: var(--nova-pink); background: var(--nova-pink) !important; }
.state-choice--green i, .file-state--green i { background: var(--nova-pink) !important; }
.file-state--green { color: var(--nova-pink-soft) !important; border-color: rgba(255, 79, 163, .22) !important; background: rgba(255, 79, 163, .07) !important; }
.capture-popover .button--primary, .workspace-shell .button--primary, .modal-card .button--primary { color: var(--nova-night); background: var(--nova-pink); box-shadow: 0 9px 28px rgba(255, 79, 163, .18); }
.capture-popover .button--primary:hover, .workspace-shell .button--primary:hover, .modal-card .button--primary:hover { background: #ff78b7; }

.workspace-shell { background: var(--nova-night-2); }
.workspace-sidebar { background: radial-gradient(circle at 20% 102%, rgba(97, 56, 255, .23), transparent 36%), radial-gradient(circle at 82% -8%, rgba(255, 79, 163, .11), transparent 29%), #0d0b10; }
.workspace-logo { border-color: rgba(255, 156, 202, .36); background: #17121d; box-shadow: inset 0 0 0 4px #100d14, 0 0 20px rgba(97, 56, 255, .12); }
.workspace-logo .samplepath-mark { width: 31px; height: 31px; }
.workspace-brand strong { font-size: 15px; font-weight: 400; letter-spacing: -.025em; }
.workspace-brand small { letter-spacing: .035em; }
.workspace-nav-item, .workspace-guide-link { font-weight: 400; }
.workspace-nav-item > span:first-child { color: var(--nova-pink-soft); font-size: 15px; }
.workspace-nav-item.is-active { box-shadow: inset 2px 0 0 var(--nova-pink); }
.workspace-body { background: radial-gradient(circle at 91% -3%, rgba(97, 56, 255, .13), transparent 33%), radial-gradient(circle at 9% 100%, rgba(255, 79, 163, .075), transparent 31%), var(--nova-panel); }
.workspace-topbar { background: rgba(15, 12, 18, .89); }
.workspace-topbar .icon-button--light,
.modal-card .icon-button {
  color: var(--nova-paper-dim);
  border-color: rgba(241, 236, 223, .12);
  background: #211b26;
}
.workspace-topbar .icon-button--light:hover,
.modal-card .icon-button:hover {
  color: var(--nova-night);
  border-color: var(--nova-pink);
  background: var(--nova-pink);
}
.page-header h1 { color: var(--nova-paper); font-size: clamp(36px, 4.1vw, 54px); font-weight: 300; letter-spacing: -.06em; }
.page-header p { max-width: 700px; color: #a39ca7; }
.workspace-shell .summary-card, .workspace-shell .asset-row, .workspace-shell .project-card, .workspace-shell .panel-card, .workspace-shell .guide-card, .workspace-shell .collection-card, .workspace-shell .detail-panel, .workspace-shell .handoff-panel, .workspace-shell .relationship-node, .modal-card { border-color: var(--nova-line); background: rgba(28, 23, 33, .84); }
.modal-card .detail-panel,
.modal-card .handoff-panel,
.modal-card .relationship-node {
  border-color: rgba(241, 236, 223, .1);
  background: #1b1720;
}
.modal-card .asset-detail-hero h2 { font-weight: 400; letter-spacing: -.035em; }
.summary-card strong { font-family: Manrope, "Noto Sans SC", sans-serif; font-weight: 300; }
.search-field, .filter-select { font-family: Manrope, "Noto Sans SC", sans-serif; font-weight: 400; }
.workspace-shell .asset-row:hover { border-color: rgba(255, 79, 163, .38); background: #221b27; }
.asset-art { position: relative; display: grid; overflow: hidden; place-items: center; border: 1px solid rgba(241, 236, 223, .11); background: #100d14 !important; }
.asset-art::after { content: "✦"; color: var(--nova-pink-soft); font-size: 25px; line-height: 1; filter: drop-shadow(0 0 8px rgba(255, 79, 163, .36)); }
.asset-art[data-tone="gold"]::after { color: var(--nova-amber); }
.asset-art[data-tone="violet"]::after { color: var(--nova-violet-soft); }
.asset-art[data-tone="blue"]::after, .asset-art[data-tone="teal"]::after { color: var(--nova-pink); }
.asset-art[data-tone="grey"]::after { color: var(--nova-paper-dim); }
.asset-primary strong, .asset-secondary strong, .asset-evidence strong { font-weight: 500; }
.status-pill--good { color: var(--nova-acid) !important; border-color: rgba(240, 255, 88, .22) !important; background: rgba(240, 255, 88, .065) !important; }
.status-pill--warn, .status-pill--risk { color: var(--nova-amber) !important; border-color: rgba(255, 184, 90, .22) !important; background: rgba(255, 184, 90, .07) !important; }
.status-pill--info { color: var(--nova-violet-soft) !important; border-color: rgba(168, 148, 255, .24) !important; background: rgba(97, 56, 255, .09) !important; }
.workspace-shell .project-properties span,
.workspace-shell .tag-row span,
.workspace-shell .queue-legend span {
  color: #b8b0bc;
  background: #211b26;
}
.workspace-shell .chat-bubble--assistant {
  color: #d8d1dc;
  border: 1px solid rgba(168, 148, 255, .14);
  background: rgba(97, 56, 255, .085);
}
.workspace-shell .prompt-suggestions button {
  color: var(--nova-pink-soft);
  border-color: rgba(255, 79, 163, .18);
  background: rgba(255, 79, 163, .055);
}
.workspace-shell .thread-item {
  color: var(--nova-paper);
  border-color: rgba(241, 236, 223, .09);
  background: #1b1720;
}
.workspace-shell .chat-input-row input {
  color: var(--nova-paper);
  border-color: rgba(241, 236, 223, .11);
  background: #100d14;
}

.collection-card { background: radial-gradient(circle at 16% 23%, rgba(255, 79, 163, .15), transparent 28%), rgba(28, 23, 33, .88) !important; }
.collection-card[data-collection-tone="violet"] { background: radial-gradient(circle at 16% 23%, rgba(97, 56, 255, .22), transparent 30%), rgba(28, 23, 33, .88) !important; }
.collection-card[data-collection-tone="gold"] { background: radial-gradient(circle at 16% 23%, rgba(255, 184, 90, .16), transparent 30%), rgba(28, 23, 33, .88) !important; }
.collection-art { position: relative; min-height: 128px; overflow: hidden; background: radial-gradient(circle at 22% 29%, rgba(241, 236, 223, .7) 0 1px, transparent 1.4px), radial-gradient(circle at 73% 68%, rgba(255, 156, 202, .6) 0 1px, transparent 1.4px), #100d14; background-size: 37px 41px, 61px 57px; }
.collection-art i { position: absolute; width: 32px !important; height: 32px !important; border-radius: 0 !important; background: var(--nova-pink-soft) !important; clip-path: polygon(50% 0, 60% 39%, 100% 50%, 60% 61%, 50% 100%, 40% 61%, 0 50%, 40% 39%); transform: none !important; }
.collection-art i:nth-child(1) { left: 14%; top: 52%; }
.collection-art i:nth-child(2) { left: 47%; top: 20%; width: 42px !important; height: 42px !important; background: var(--nova-paper) !important; }
.collection-art i:nth-child(3) { right: 13%; bottom: 17%; width: 25px !important; height: 25px !important; background: var(--nova-violet-soft) !important; }
.collection-copy h2, .project-card h2, .panel-card h2, .guide-card h2 { font-weight: 400; }

@media (max-width: 720px) {
  .companion { right: 12px; bottom: 13px; width: 52px; height: 210px; }
  .capture-orb { width: 48px; height: 48px; }
  .capture-popover { bottom: 73px; }
  .workspace-shell { grid-template-rows: 64px minmax(0, 1fr); }
  .workspace-sidebar { min-height: 64px; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 5px; padding: 7px 9px; }
  .workspace-brand { width: 40px; }
  .workspace-brand > div { display: none; }
  .workspace-logo { width: 38px; height: 38px; }
  .workspace-logo .samplepath-mark { width: 29px; height: 29px; }
  .workspace-nav { min-width: 0; gap: 0; justify-content: center; overflow: hidden; }
  .workspace-nav-item { position: relative; width: 32px; min-width: 32px; height: 36px; min-height: 36px; display: grid; grid-template-columns: 1fr; padding: 0; place-items: center; }
  .workspace-nav-item > span:first-child { font-size: 14px; }
  .workspace-nav-item > span:nth-child(2) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .workspace-sidebar-bottom { display: flex; align-items: center; gap: 3px; }
  .workspace-guide-link { width: 32px; height: 34px; min-height: 34px; }
  .account-card { width: 32px; height: 34px; min-height: 34px; padding: 0; display: grid; place-items: center; border: 0; background: transparent; }
  .account-card .avatar { width: 28px; height: 28px; }
  .account-card > span:nth-child(2), .account-card > b { display: none; }
  .sample-sky-head { align-items: flex-start; flex-direction: column; }
  .sample-sky-canvas { height: 205px; }
  .sky-map-label { display: none; }
  .library-quickbar > small { display: none; }
  .summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .concept-model-grid { grid-template-columns: 1fr; }
}
