/* Ideapop Prism — approved deep-space blue visual system.
   Load after the existing application styles. Business markup and behavior stay intact. */
body.ip-prism-theme {
  --ip-bg: #060b17;
  --ip-work: #111d31;
  --ip-raised: #142642;
  --ip-surface-raised: #142642;
  --ip-ink: #eaf5ff;
  --ip-muted: #9dafc5;
  --ip-faint: #91a7c5;
  --ip-blue: #97e4ff;
  --ip-blue-soft: #b5eaff;
  --ip-violet: #8b99ff;
  --ip-line: rgba(149, 185, 239, .16);
  --ip-line-strong: rgba(130, 187, 255, .31);
  --ip-surface: #0e1b30;
  --ip-surface-gradient: linear-gradient(140deg, rgba(23, 43, 71, .96), rgba(12, 25, 47, .98));
  --ip-glass: linear-gradient(140deg, rgba(43, 77, 133, .35), rgba(14, 30, 57, .80));
  --ip-shadow: 0 16px 48px rgba(0, 4, 17, .26), inset 0 1px rgba(170, 210, 255, .08);
  --ip-radius: 16px;
  --ip-space: clamp(20px, 2.8vw, 42px);
  color-scheme: dark;
  margin: 0;
  min-width: 0;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: .01em;
  color: var(--ip-ink);
  background: radial-gradient(ellipse 900px 570px at 62% -70px, rgba(36, 85, 192, .34), transparent 75%), radial-gradient(ellipse 680px 680px at 100% 76%, rgba(91, 60, 159, .10), transparent 75%), var(--ip-bg);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}
body.ip-prism-theme *,
body.ip-prism-theme *::before,
body.ip-prism-theme *::after { box-sizing: border-box; }
body.ip-prism-theme ::selection { color: #effaff; background: #245c89; }
body.ip-prism-theme :where(a, button, input, select, textarea, summary) { -webkit-tap-highlight-color: rgba(130, 220, 255, .12); }
body.ip-prism-theme :where(button, input, select, textarea) { font-family: inherit; font-size: 14px; line-height: 1.5; }
body.ip-prism-theme :where(h1, h2, h3, h4) { color: var(--ip-ink); font-weight: 600; overflow-wrap: anywhere; }
body.ip-prism-theme h2 { font-size: 21px; line-height: 1.4; letter-spacing: -.025em; margin: 0 0 10px; }
body.ip-prism-theme h3 { font-size: 17px; line-height: 1.45; letter-spacing: -.015em; }
body.ip-prism-theme p { line-height: 1.75; overflow-wrap: anywhere; }
body.ip-prism-theme :where(pre, code) { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
body.ip-prism-theme pre { white-space: pre-wrap; overflow-wrap: anywhere; }
body.ip-prism-theme a { color: var(--ip-blue-soft); text-underline-offset: 4px; }
body.ip-prism-theme a:hover { color: #e0f8ff; }
body.ip-prism-theme :where(img, video, audio) { max-width: 100%; }
body.ip-prism-theme .muted { color: var(--ip-muted); }
body.ip-prism-theme .fine { color: var(--ip-faint); font-size: 12px; line-height: 1.7; }

/* Controls: one illuminated primary action, quiet secondary actions. */
body.ip-prism-theme button,
body.ip-prism-theme .button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  max-width: 100%;
  padding: 9px 14px;
  border: 1px solid rgba(137, 184, 243, .23);
  border-radius: 9px;
  color: #d5e6fb;
  background: linear-gradient(135deg, rgba(38, 68, 107, .48), rgba(26, 45, 75, .65));
  box-shadow: inset 0 1px rgba(182, 217, 255, .07);
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 180ms ease, color 160ms ease, transform 150ms ease;
}
body.ip-prism-theme button:hover:not(:disabled),
body.ip-prism-theme .button-link:hover {
  color: #f0faff;
  border-color: rgba(134, 217, 255, .58);
  background: rgba(44, 84, 131, .62);
  box-shadow: 0 0 20px rgba(52, 137, 255, .12), inset 0 1px rgba(208, 233, 255, .13);
}
body.ip-prism-theme button:active:not(:disabled),
body.ip-prism-theme .button-link:active { transform: translateY(1px); }
body.ip-prism-theme button.primary,
body.ip-prism-theme .button-link.primary {
  color: #081b36;
  background: linear-gradient(105deg, #91eaff, #68afff);
  border-color: #9acfff;
  box-shadow: 0 4px 22px rgba(54, 135, 255, .25), inset 0 1px rgba(255, 255, 255, .60);
  font-weight: 650;
}
body.ip-prism-theme button.primary:hover:not(:disabled),
body.ip-prism-theme .button-link.primary:hover {
  color: #071a30;
  background: linear-gradient(105deg, #b6f3ff, #82c4ff);
  border-color: #bdefff;
  box-shadow: 0 5px 28px rgba(51, 145, 255, .35), inset 0 1px rgba(255, 255, 255, .6);
}
body.ip-prism-theme button.ghost { background: transparent; box-shadow: none; }
body.ip-prism-theme button.danger { color: #ffc1cd; background: rgba(134, 47, 70, .17); border-color: rgba(236, 120, 149, .31); box-shadow: none; }
body.ip-prism-theme button.danger:hover:not(:disabled) { color: #ffdfE6; background: rgba(170, 53, 80, .27); border-color: #dc859b; box-shadow: 0 0 16px rgba(236, 89, 133, .07); }
body.ip-prism-theme button.danger-text { color: #f2a6b9; border-color: transparent; background: transparent; box-shadow: none; }
body.ip-prism-theme button.danger-text:hover:not(:disabled) { background: rgba(170, 53, 80, .17); color: #ffd5df; border-color: rgba(236, 120, 149, .22); }
body.ip-prism-theme button:disabled { cursor: not-allowed; opacity: .43; box-shadow: none; transform: none; }
body.ip-prism-theme button[aria-pressed="true"]:not(.primary) { color: #c2f0ff; border-color: rgba(130, 216, 255, .50); background: rgba(50, 128, 204, .20); box-shadow: inset 0 1px rgba(179, 222, 255, .11); }
body.ip-prism-theme .wide { width: 100%; }
body.ip-prism-theme :where(button, a, input, select, textarea, summary):focus-visible { outline: 2px solid var(--ip-blue); outline-offset: 3px; }
body.ip-prism-theme :where(input, select, textarea):disabled { opacity: .58; cursor: not-allowed; }

/* The shell is lighter than the opaque reading and editing surfaces. */
body.ip-prism-theme .app-page { min-height: 100vh; }
body.ip-prism-theme .app-top {
  min-height: 78px;
  height: auto;
  padding: 17px var(--ip-space);
  gap: 24px;
  border-bottom: 1px solid var(--ip-line);
  background: rgba(9, 19, 37, .78);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: 0 8px 30px rgba(1, 8, 25, .12);
  z-index: 20;
}
body.ip-prism-theme .app-top::before {
  content: "";
  position: absolute;
  inset: 0 14% auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(131, 213, 255, .70), transparent);
  pointer-events: none;
}
body.ip-prism-theme .brand-mark { position: relative; font-size: 22px; font-weight: 650; letter-spacing: -.04em; color: #f0f8ff; flex-shrink: 0; padding-left: 44px; line-height: 1.3; }
body.ip-prism-theme .brand-mark::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 32px;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-7deg);
  border: 1px solid #a3dcff;
  border-radius: 9px;
  background: linear-gradient(145deg, #76e3ff, #365bd0);
  box-shadow: 0 0 22px rgba(58, 151, 255, .28), inset 0 1px rgba(255, 255, 255, .5);
}
body.ip-prism-theme .brand-mark span { display: block; color: var(--ip-muted); font-size: 11px; font-weight: 400; letter-spacing: .10em; margin: 5px 0 0; }
body.ip-prism-theme .top-user { gap: 7px; justify-content: flex-end; min-width: 0; }
body.ip-prism-theme .top-user > span { font-size: 12px; color: var(--ip-muted); margin-right: 8px; }
body.ip-prism-theme .top-user > button { font-size: 12px; min-height: 36px; padding: 7px 10px; border-color: rgba(138, 182, 239, .15); background: rgba(24, 43, 72, .42); }
body.ip-prism-theme .app-content { max-width: 1440px; margin: 0 auto; padding: 46px var(--ip-space) 64px; }
body.ip-prism-theme .page-heading,
body.ip-prism-theme .page-top { gap: 24px; margin-bottom: 30px; }
body.ip-prism-theme .page-heading > div,
body.ip-prism-theme .page-top > div { min-width: 0; }
body.ip-prism-theme .eyebrow,
body.ip-prism-theme .project-code { color: var(--ip-blue); font-size: 11px; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
body.ip-prism-theme .page-heading h1,
body.ip-prism-theme .page-top h1,
body.ip-prism-theme .hero h1 { font-size: clamp(29px, 2.9vw, 38px); line-height: 1.3; font-weight: 600; margin: 9px 0 10px; letter-spacing: -.045em; text-shadow: 0 0 32px rgba(125, 202, 255, .14); }
body.ip-prism-theme .page-heading p { font-size: 14px; max-width: 800px; }

body.ip-prism-theme .project-sidebar {
  display: flex;
  flex-direction: column;
  width: 216px;
  padding: 24px 15px;
  background: linear-gradient(180deg, rgba(12, 26, 49, .92), rgba(8, 16, 31, .97));
  border-right: 1px solid var(--ip-line);
  box-shadow: 12px 0 40px rgba(0, 5, 20, .12);
  overflow-y: auto;
  scrollbar-width: thin;
  z-index: 25;
}
body.ip-prism-theme .project-sidebar .back { align-self: flex-start; min-height: 36px; font-size: 12px; padding: 5px 8px; color: #a8bfdc; border-color: transparent; background: transparent; box-shadow: none; }
body.ip-prism-theme .project-sidebar h2 { margin: 26px 11px 7px; font-size: 21px; font-weight: 600; letter-spacing: -.03em; }
body.ip-prism-theme .project-sidebar > p { font-size: 12px; margin: 0 11px; color: #92b2da; }
body.ip-prism-theme .project-sidebar nav { gap: 5px; margin: 25px 0 24px; }
body.ip-prism-theme .project-sidebar nav button { position: relative; justify-content: flex-start; min-height: 43px; padding: 10px 14px; font-size: 13px; color: #a6b9d3; border: 1px solid transparent; border-radius: 9px; background: transparent; box-shadow: none; text-align: left; }
body.ip-prism-theme .project-sidebar nav button:hover { color: #dfF5ff; border-color: rgba(100, 168, 242, .18); background: rgba(42, 78, 125, .22); }
body.ip-prism-theme .project-sidebar nav button.active {
  color: #b6edff;
  border-color: rgba(109, 186, 255, .27);
  background: linear-gradient(120deg, rgba(47, 139, 242, .25), rgba(55, 93, 193, .10));
  box-shadow: inset 0 1px rgba(176, 220, 255, .10), 0 5px 21px rgba(0, 16, 51, .30);
}
body.ip-prism-theme .project-sidebar nav button.active::before { content: ""; position: absolute; left: -1px; top: 12px; bottom: 12px; width: 2px; border-radius: 2px; background: var(--ip-blue); box-shadow: 0 0 10px rgba(117, 216, 255, .5); }
body.ip-prism-theme .sidebar-footer { position: static; margin: auto 7px 0; padding-top: 16px; border-top: 1px solid var(--ip-line); }
body.ip-prism-theme .board-main { margin-left: 216px; max-width: 1680px; padding: 34px var(--ip-space) 64px; min-width: 0; }
body.ip-prism-theme .page-top { align-items: center; padding-bottom: 22px; border-bottom: 1px solid var(--ip-line); }
body.ip-prism-theme .page-top h1 { margin-bottom: 0; }
body.ip-prism-theme .page-top > button { font-size: 13px; flex-shrink: 0; }

/* Content surfaces: strong typography, precise hairlines, quiet depth. */
body.ip-prism-theme .card {
  min-width: 0;
  padding: 25px;
  margin: 20px 0;
  border: 1px solid var(--ip-line-strong);
  border-radius: var(--ip-radius);
  background: var(--ip-surface-gradient);
  box-shadow: var(--ip-shadow);
}
body.ip-prism-theme .card > header { flex-wrap: wrap; align-items: flex-start; gap: 18px; margin-bottom: 18px; }
body.ip-prism-theme .card > header > div { min-width: 0; }
body.ip-prism-theme .card > header p { color: var(--ip-muted); font-size: 14px; margin: 7px 0 0; }
body.ip-prism-theme .card > p { color: #b4c7df; }
body.ip-prism-theme .card > h2 { margin-bottom: 13px; }
body.ip-prism-theme .card .card { background: rgba(7, 20, 40, .43); border-color: var(--ip-line); box-shadow: inset 0 1px rgba(155, 200, 255, .035); }
body.ip-prism-theme .approval-grid { gap: 15px; }
body.ip-prism-theme .approval-grid article { padding: 18px; border-color: var(--ip-line); border-radius: 12px; background: rgba(7, 20, 40, .30); min-width: 0; }
body.ip-prism-theme .script-preview { border-color: var(--ip-line); padding: 16px 0; }
body.ip-prism-theme .script-preview pre { color: #c4d4ea; font-size: 14px; line-height: 1.95; }
body.ip-prism-theme .hero.card { position: relative; padding: 31px; border-color: rgba(119, 190, 255, .31); background: radial-gradient(ellipse at 83% 0, rgba(60, 128, 241, .17), transparent 65%), var(--ip-surface-gradient); }
body.ip-prism-theme .hero.card::before { content: ""; position: absolute; top: -1px; left: 25px; right: 25px; height: 1px; background: linear-gradient(90deg, transparent, rgba(135, 210, 255, .68), transparent); pointer-events: none; }
body.ip-prism-theme .hero p { margin: 8px 0 18px; color: var(--ip-muted); font-size: 13px; }
body.ip-prism-theme .stat-grid,
body.ip-prism-theme .usage-cards { gap: 16px; margin: 24px 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.ip-prism-theme .stat-grid .card,
body.ip-prism-theme .usage-cards .card { margin: 0; gap: 15px; padding: 23px; background: var(--ip-glass); border-color: rgba(138, 181, 255, .22); box-shadow: 0 12px 38px rgba(0, 9, 36, .20), inset 0 1px rgba(181, 218, 255, .13); }
body.ip-prism-theme .stat-grid .card > span,
body.ip-prism-theme .usage-cards .card > span { color: var(--ip-muted); font-size: 13px; }
body.ip-prism-theme .stat-grid strong,
body.ip-prism-theme .usage-cards strong { font-family: "SFMono-Regular", Consolas, monospace; font-variant-numeric: tabular-nums; font-size: clamp(29px, 2.8vw, 40px); line-height: 1.2; font-weight: 400; letter-spacing: -.055em; color: #b9edff; text-shadow: 0 0 20px rgba(105, 191, 255, .13); overflow-wrap: anywhere; }
body.ip-prism-theme .stat-grid button { min-height: 34px; font-size: 12px; padding: 6px 10px; }
body.ip-prism-theme .project-grid { gap: 18px; margin-top: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.ip-prism-theme .project-card { min-width: 0; min-height: 190px; gap: 20px; align-items: stretch; flex-direction: column; border: 1px solid var(--ip-line-strong); border-radius: 16px; padding: 26px; background: radial-gradient(ellipse at 100% 0, rgba(53, 115, 226, .10), transparent 70%), var(--ip-surface-gradient); box-shadow: var(--ip-shadow); transition: border-color 180ms ease, box-shadow 180ms ease; }
body.ip-prism-theme .project-card:hover { border-color: rgba(137, 211, 255, .47); box-shadow: 0 16px 40px rgba(0, 8, 27, .35), inset 0 1px rgba(162, 219, 255, .12); }
body.ip-prism-theme .project-card h2 { margin: 11px 0 8px; font-size: 24px; }
body.ip-prism-theme .project-card p { color: var(--ip-muted); font-size: 13px; }
body.ip-prism-theme .project-actions { padding-top: 16px; margin: auto 0 0; border-top: 1px solid var(--ip-line); justify-content: flex-start; gap: 8px; }
body.ip-prism-theme .project-actions button:first-child { color: #b5edff; border-color: rgba(123, 204, 255, .36); background: rgba(55, 119, 185, .17); }
body.ip-prism-theme .project-actions .danger { margin-left: auto; font-size: 12px; min-height: 36px; }

body.ip-prism-theme .toolbar,
body.ip-prism-theme .button-row { gap: 9px; min-width: 0; }
body.ip-prism-theme .toolbar > label { display: grid; gap: 6px; color: var(--ip-muted); font-size: 12px; min-width: 0; }
body.ip-prism-theme .toolbar > select { width: auto; max-width: 100%; }
body.ip-prism-theme .toolbar .tag { align-self: center; }
body.ip-prism-theme .quick-actions { padding: 25px; margin: 28px 0; border: 1px solid var(--ip-line); border-radius: 18px; background: rgba(11, 24, 45, .66); }
body.ip-prism-theme .quick-actions-heading h2 { margin: 7px 0; font-size: 23px; }
body.ip-prism-theme .quick-actions-heading p { font-size: 14px; margin: 7px 0 3px; }
body.ip-prism-theme .quick-action-grid { gap: 14px; }
body.ip-prism-theme .quick-action-card { justify-content: flex-start; padding: 21px; min-height: 118px; border-color: rgba(119, 178, 250, .27); border-radius: 13px; background: var(--ip-glass); box-shadow: inset 0 1px rgba(174, 214, 255, .10); }
body.ip-prism-theme .quick-action-card strong { font-size: 17px; font-weight: 600; color: #e5f4ff; }
body.ip-prism-theme .quick-action-card div { min-width: 0; text-align: left; }
body.ip-prism-theme .quick-action-card div span { color: var(--ip-muted); font-size: 13px; line-height: 1.7; }
body.ip-prism-theme .quick-action-icon { flex-shrink: 0; display: grid; place-items: center; width: 45px; height: 46px; border: 1px solid rgba(130, 207, 255, .23); border-radius: 11px; background: linear-gradient(145deg, rgba(50, 138, 235, .22), rgba(60, 92, 178, .10)); color: var(--ip-blue) !important; font-size: 24px; box-shadow: inset 0 1px rgba(188, 226, 255, .09); }
body.ip-prism-theme .quick-action-arrow { color: #8dcfee; }

/* Forms: the dark input wells remain legible over glass panels. */
body.ip-prism-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
body.ip-prism-theme select,
body.ip-prism-theme textarea {
  max-width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 10px 12px;
  color: #e5f1ff;
  border: 1px solid rgba(139, 181, 239, .26);
  border-radius: 9px;
  background: #0b172b;
  box-shadow: inset 0 1px 3px rgba(0, 4, 17, .18);
  transition: border-color 160ms ease, box-shadow 180ms ease, background-color 160ms ease;
}
body.ip-prism-theme input::placeholder,
body.ip-prism-theme textarea::placeholder { color: #8199b9; opacity: 1; }
body.ip-prism-theme input:hover:not(:disabled),
body.ip-prism-theme select:hover:not(:disabled),
body.ip-prism-theme textarea:hover:not(:disabled) { border-color: rgba(130, 199, 255, .45); }
body.ip-prism-theme input:focus,
body.ip-prism-theme select:focus,
body.ip-prism-theme textarea:focus { border-color: #79c8f3; box-shadow: 0 0 0 3px rgba(103, 190, 255, .10); }
body.ip-prism-theme input[type="checkbox"],
body.ip-prism-theme input[type="radio"] { accent-color: #8adaff; flex-shrink: 0; }
body.ip-prism-theme input[type="range"] { accent-color: #8adaff; }
/* Safari's native menulist ignores part of the box sizing. Keep the select
   element and native option picker, but draw the closed control consistently. */
body.ip-prism-theme select { -webkit-appearance: none; appearance: none; vertical-align: middle; }
body.ip-prism-theme select:not([multiple]):not([size]),
body.ip-prism-theme select:not([multiple])[size="0"],
body.ip-prism-theme select:not([multiple])[size="1"] {
  height: 42px;
  min-height: 42px;
  padding: 9px 38px 9px 12px;
  line-height: 1.5;
  background-image: linear-gradient(45deg, transparent 50%, #acd5ec 50%), linear-gradient(135deg, #acd5ec 50%, transparent 50%);
  background-position: right 18px center, right 13px center;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
body.ip-prism-theme select[multiple],
body.ip-prism-theme select[size]:not([size="0"]):not([size="1"]) { height: auto; padding: 10px 12px; background-image: none; }
body.ip-prism-theme select option { color: var(--ip-ink); background: #122039; }
body.ip-prism-theme textarea { resize: vertical; line-height: 1.85; }
body.ip-prism-theme .form { gap: 18px; }
body.ip-prism-theme .form label,
body.ip-prism-theme .columns > label { gap: 8px; color: #b7cbe4; font-size: 13px; min-width: 0; }
body.ip-prism-theme .form textarea { min-height: 160px; }
body.ip-prism-theme .columns { gap: 18px; }
body.ip-prism-theme .form fieldset,
body.ip-prism-theme .reference-library-picker { min-width: 0; border-color: var(--ip-line-strong); border-radius: 12px; background: rgba(7, 18, 36, .30); padding: 18px; }
body.ip-prism-theme legend { color: #bfd6ef; font-size: 13px; padding: 0 7px; }
body.ip-prism-theme .upload { min-height: 42px; color: #bce9ff; border-color: rgba(130, 201, 247, .46); background: rgba(46, 100, 152, .08); padding: 10px 13px; border-radius: 9px; font-size: 13px; flex-wrap: wrap; transition: border-color 160ms ease, background-color 160ms ease; }
body.ip-prism-theme .upload:hover { border-color: #8bd5ff; background: rgba(46, 100, 152, .18); }
body.ip-prism-theme .upload input { max-width: 100%; color: var(--ip-muted); font-size: 12px; }
body.ip-prism-theme input[type="file"]::file-selector-button { border: 1px solid var(--ip-line); border-radius: 5px; padding: 5px 8px; color: #c9e7ff; background: #1b3556; margin-right: 8px; cursor: pointer; }
body.ip-prism-theme .delivery-form { gap: 9px; margin-top: 13px; }
body.ip-prism-theme .delivery-form input { min-width: min(220px, 100%); }

/* Status and disclosures preserve the source labels and counts. */
body.ip-prism-theme .notice,
body.ip-prism-theme .error,
body.ip-prism-theme .success { margin: 15px 0; padding: 13px 16px; border-radius: 10px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
body.ip-prism-theme .notice { color: #b8d8f6; border: 1px solid rgba(100, 166, 236, .25); background: rgba(38, 83, 145, .15); box-shadow: inset 2px 0 rgba(103, 185, 248, .62); }
body.ip-prism-theme .error { color: #f8c1d0; border: 1px solid rgba(218, 106, 142, .30); background: rgba(125, 37, 70, .16); box-shadow: inset 2px 0 rgba(237, 132, 163, .65); }
body.ip-prism-theme .success { color: #b0e9d8; border: 1px solid rgba(107, 198, 172, .29); background: rgba(24, 110, 88, .15); box-shadow: inset 2px 0 rgba(115, 220, 186, .57); }
body.ip-prism-theme .tag { min-height: 25px; padding: 3px 9px; border-radius: 6px; border-color: rgba(118, 171, 246, .20); background: rgba(63, 116, 198, .10); color: #adcdeb; font-size: 11px; font-weight: 450; line-height: 1.5; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
body.ip-prism-theme .tag.good { color: #a4e6cf; border-color: rgba(102, 195, 166, .28); background: rgba(40, 123, 99, .12); }
body.ip-prism-theme .empty { padding: 38px 24px; color: #a0b4cd; font-size: 14px; border: 1px dashed rgba(130, 177, 234, .26); border-radius: 12px; background: rgba(7, 18, 35, .32); }
body.ip-prism-theme .empty-stage { min-height: 290px; }
body.ip-prism-theme .loading { padding: 64px 20px; color: #b7daf8; font-size: 14px; }
body.ip-prism-theme details { min-width: 0; }
body.ip-prism-theme summary { padding: 9px 0; color: #b6d6f6; font-size: 13px; cursor: pointer; transition: color 160ms ease; }
body.ip-prism-theme summary:hover { color: var(--ip-blue-soft); }
body.ip-prism-theme summary::marker { color: #7ac9f4; font-size: 11px; }
body.ip-prism-theme .blockers { color: #e3b3bd; padding-left: 21px; font-size: 14px; line-height: 1.9; }

/* Media and asset libraries. */
body.ip-prism-theme .asset-list,
body.ip-prism-theme .library-grid { gap: 20px; }
body.ip-prism-theme .asset-list > .card,
body.ip-prism-theme .library-grid > .card { margin: 0; }
body.ip-prism-theme .asset h2 { font-size: 23px; }
body.ip-prism-theme .requirements { color: #c3d2e8; line-height: 1.85; font-size: 14px; }
body.ip-prism-theme .asset details { border-top: 1px solid var(--ip-line); padding-top: 4px; }
body.ip-prism-theme .asset pre { color: #bacce3; background: #0b172b; border: 1px solid rgba(131, 169, 220, .12); border-radius: 10px; padding: 16px; font-size: 13px; line-height: 1.85; }
body.ip-prism-theme .candidate-grid { gap: 14px; margin: 19px 0; }
body.ip-prism-theme .candidate { min-width: 0; padding: 12px; border: 1px solid var(--ip-line); border-radius: 12px; background: rgba(6, 17, 35, .38); }
body.ip-prism-theme .candidate > .toolbar { margin: 12px 0; font-size: 12px; }
body.ip-prism-theme .candidate > button { margin: 5px 5px 0 0; font-size: 12px; }
body.ip-prism-theme .candidate-image { height: 200px; object-fit: contain; border-radius: 8px; background: #080f1d; border: 1px solid rgba(131, 169, 220, .09); }
body.ip-prism-theme .image-empty,
body.ip-prism-theme .media-empty { background: #0a1629; color: #8ea8c8; border: 1px solid rgba(131, 169, 220, .11); border-radius: 9px; padding: 16px; text-align: center; font-size: 13px; }
body.ip-prism-theme .image-empty { min-height: 180px; }
body.ip-prism-theme .video-preview { background: #050b16; border: 1px solid rgba(138, 181, 235, .16); border-radius: 10px; }
body.ip-prism-theme .formal { padding: 15px; gap: 18px; border-radius: 12px; background: rgba(25, 89, 83, .13); border-color: rgba(100, 184, 163, .30); }
body.ip-prism-theme .formal > a { flex-shrink: 0; }
body.ip-prism-theme .formal h3 { color: #b1e7d6; margin: 0 0 6px; }
body.ip-prism-theme .formal p { color: #a9c9cc; margin: 0 0 10px; font-size: 13px; }
body.ip-prism-theme .candidate-wait { background: rgba(12, 26, 48, .60); border-color: rgba(126, 172, 230, .25); border-radius: 12px; color: #abc1dc; }
body.ip-prism-theme .candidate-wait.is-generating { background: rgba(29, 57, 99, .35); border-color: rgba(133, 203, 255, .40); color: #c0e6ff; }
body.ip-prism-theme .candidate-wait.is-failed { border-color: rgba(225, 130, 157, .35); color: #eac0cc; }
body.ip-prism-theme .candidate-spinner { border-color: rgba(121, 187, 244, .20); border-top-color: var(--ip-blue); }
body.ip-prism-theme .reference-library-grid { gap: 13px; }
body.ip-prism-theme .reference-library-item { padding: 11px; border-color: var(--ip-line); border-radius: 11px; background: rgba(7, 19, 38, .64); }
body.ip-prism-theme .reference-library-item.selected { border-color: #74cafa; box-shadow: inset 0 0 0 1px rgba(116, 202, 250, .20), 0 0 16px rgba(43, 141, 235, .09); background: rgba(34, 71, 111, .30); }
body.ip-prism-theme .reference-library-item span { color: var(--ip-faint); }
body.ip-prism-theme .company-asset-grid { gap: 20px; margin-top: 26px; }
body.ip-prism-theme .company-asset-card { padding: 16px; margin: 0; }
body.ip-prism-theme .company-asset-card .candidate-image,
body.ip-prism-theme .company-asset-card .image-empty { height: 225px; }
body.ip-prism-theme .company-asset-card h3 { margin: 16px 0 6px; font-size: 18px; }
body.ip-prism-theme .company-asset-card p { color: var(--ip-muted); font-size: 13px; line-height: 1.75; }
body.ip-prism-theme .company-asset-card .toolbar { padding-top: 13px; border-top: 1px solid var(--ip-line); }
body.ip-prism-theme .company-asset-card .toolbar button { font-size: 12px; min-height: 35px; padding: 7px 10px; }

/* Dialogs, account administration, audit and usage pages. */
body.ip-prism-theme .modal-shade { padding: 28px; background: rgba(2, 8, 21, .79); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); z-index: 100; }
body.ip-prism-theme .modal { width: min(850px, 100%); max-height: calc(100dvh - 56px); padding: 27px; border-color: rgba(142, 198, 255, .34); border-radius: 18px; background: linear-gradient(145deg, #172c49, #0d1c34 78%); box-shadow: 0 32px 100px rgba(0, 2, 12, .62), inset 0 1px rgba(184, 224, 255, .21); overscroll-behavior: contain; scrollbar-width: thin; }
body.ip-prism-theme .modal > header { gap: 20px; margin-bottom: 23px; padding-bottom: 17px; border-bottom: 1px solid var(--ip-line); }
body.ip-prism-theme .modal > header h2 { font-size: 22px; }
body.ip-prism-theme .modal > header button { flex-shrink: 0; width: 34px; min-height: 34px; height: 34px; padding: 0; color: #b8cee6; font-size: 23px; font-weight: 400; background: rgba(27, 47, 78, .68); border-color: rgba(146, 187, 242, .19); }
body.ip-prism-theme .modal > p { font-size: 14px; }
body.ip-prism-theme .member-row { gap: 12px; padding: 12px 0; margin: 0; border-bottom: 1px solid var(--ip-line); }
body.ip-prism-theme .member-chips { gap: 8px; margin-top: 18px; }
body.ip-prism-theme .admin-users article { padding: 15px 0; border-color: var(--ip-line); gap: 12px; min-width: 0; }
body.ip-prism-theme .admin-users article > * { min-width: 0; overflow-wrap: anywhere; }
body.ip-prism-theme .admin-users span { color: var(--ip-muted); line-height: 1.7; }
body.ip-prism-theme .admin-users button { font-size: 12px; min-height: 35px; }
body.ip-prism-theme .audit-list article { gap: 18px; padding: 18px 0; border-color: var(--ip-line); font-size: 14px; }
body.ip-prism-theme .audit-list article div { min-width: 0; }
body.ip-prism-theme .audit-list span,
body.ip-prism-theme .audit-list time { color: var(--ip-faint); }
body.ip-prism-theme .audit-list time { line-height: 1.8; font-variant-numeric: tabular-nums; }
body.ip-prism-theme .audit-entry > span { margin: 8px 0; font-size: 12px; }
body.ip-prism-theme .audit-entry p { margin: 8px 0; }
body.ip-prism-theme .usage-account { min-width: 220px; font-size: 13px; color: var(--ip-muted); gap: 8px; }
body.ip-prism-theme table { border-collapse: collapse; max-width: 100%; font-variant-numeric: tabular-nums; }
body.ip-prism-theme :where(th, td) { border-color: var(--ip-line); overflow-wrap: anywhere; }
body.ip-prism-theme :where(th) { color: #a9c7e9; font-weight: 500; }
body.ip-prism-theme .usage-table-wrap { margin-top: 18px; border: 1px solid var(--ip-line); border-radius: 11px; scrollbar-width: thin; }
body.ip-prism-theme .usage-table { font-size: 13px; font-variant-numeric: tabular-nums; }
body.ip-prism-theme .usage-table th,
body.ip-prism-theme .usage-table td { padding: 15px 16px; border-bottom-color: var(--ip-line); }
body.ip-prism-theme .usage-table th { color: #a9c7e9; background: rgba(11, 25, 47, .66); font-size: 12px; font-weight: 500; }
body.ip-prism-theme .usage-table td { color: #d1e1f5; }
body.ip-prism-theme .usage-table tbody tr:last-child td { border-bottom: 0; }
body.ip-prism-theme .usage-table tbody tr:hover { background: rgba(58, 109, 169, .10); }
body.ip-prism-theme .usage-table small { color: var(--ip-faint); font-size: 11px; }
body.ip-prism-theme .usage-table button { min-height: 32px; padding: 5px 10px; font-size: 12px; }
body.ip-prism-theme .history-list { gap: 16px; }
body.ip-prism-theme .history-item { padding: 19px; gap: 13px; border-color: var(--ip-line); border-radius: 12px; background: rgba(7, 20, 41, .54); }
body.ip-prism-theme .history-item > header { flex-wrap: wrap; gap: 8px 20px; }
body.ip-prism-theme .history-item time { color: var(--ip-faint); font-size: 11px; font-variant-numeric: tabular-nums; }
body.ip-prism-theme .history-item > p { font-size: 13px; margin: 4px 0; }
body.ip-prism-theme .history-artifacts { gap: 14px; }
body.ip-prism-theme .history-artifact { min-width: 0; gap: 10px; }
body.ip-prism-theme .history-artifact .button-link { min-height: 34px; font-size: 12px; padding: 6px 10px; }
body.ip-prism-theme .timeline-preview-head { gap: 14px; font-size: 14px; }
body.ip-prism-theme .timeline-preview-list { padding-top: 15px; border-color: var(--ip-line); gap: 8px; }
body.ip-prism-theme .timeline-preview-list button { justify-content: space-between; text-align: left; }
body.ip-prism-theme .timeline-preview-list button.active { color: #c2f0ff; background: rgba(50, 128, 204, .20); border-color: rgba(130, 216, 255, .50); }
body.ip-prism-theme .timeline-preview-list small { color: var(--ip-muted); font-size: 12px; }

/* Authentication uses the same palette without adding unverified product copy. */
body.ip-prism-theme .login-page { padding: 32px 20px; }
body.ip-prism-theme .login-card { position: relative; width: min(480px, 100%); padding: 40px; border: 1px solid rgba(141, 199, 255, .28); border-radius: 21px; background: linear-gradient(145deg, rgba(27, 49, 84, .92), rgba(10, 23, 45, .97)); box-shadow: 0 32px 100px rgba(0, 6, 30, .5), 0 0 70px rgba(40, 106, 234, .07), inset 0 1px rgba(192, 225, 255, .17); }
body.ip-prism-theme .login-card::before { content: ""; position: absolute; top: -1px; left: 38px; right: 38px; height: 1px; background: linear-gradient(90deg, transparent, #94d9ff, transparent); pointer-events: none; }
body.ip-prism-theme .login-card .brand-mark { margin-bottom: 37px; }
body.ip-prism-theme .login-card h1 { font-size: 30px; font-weight: 600; letter-spacing: -.04em; margin: 0 0 12px; }
body.ip-prism-theme .login-card > p { font-size: 13px; margin-bottom: 25px; }
body.ip-prism-theme .login-card .form { gap: 18px; }
body.ip-prism-theme .login-card .primary { min-height: 46px; margin-top: 8px; }
body.ip-prism-theme .login-card > .fine { margin: 26px 0 0; font-size: 11px; }

/* Responsive navigation remains available rather than hiding project tools. */
@media (min-width: 1700px) {
  body.ip-prism-theme .board-main { padding-right: 56px; padding-left: 48px; }
}
@media (max-width: 1200px) {
  body.ip-prism-theme .app-top { align-items: flex-start; }
  body.ip-prism-theme .top-user > span { flex-basis: 100%; text-align: right; margin: 0 0 2px; }
  body.ip-prism-theme .company-asset-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.ip-prism-theme .card > header > .toolbar { width: 100%; }
}
@media (max-width: 1024px) {
  body.ip-prism-theme .project-sidebar { position: relative; inset: auto; width: auto; overflow: visible; padding: 18px 24px 0; border-right: 0; border-bottom: 1px solid var(--ip-line); box-shadow: none; }
  body.ip-prism-theme .project-sidebar .back { padding: 3px 0; min-height: 28px; }
  body.ip-prism-theme .project-sidebar h2 { margin: 13px 0 5px; max-width: calc(100% - 150px); }
  body.ip-prism-theme .project-sidebar > p { margin: 0; }
  body.ip-prism-theme .project-sidebar nav { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; margin: 16px -24px 0; padding: 0 24px 13px; scrollbar-width: thin; scroll-padding-inline: 24px; }
  body.ip-prism-theme .project-sidebar nav button { flex-shrink: 0; justify-content: center; padding: 10px 14px; }
  body.ip-prism-theme .project-sidebar nav button.active::before { top: auto; left: 12px; right: 12px; bottom: -1px; width: auto; height: 2px; }
  body.ip-prism-theme .sidebar-footer { position: absolute; top: 45px; right: 24px; bottom: auto; left: auto; padding: 0; margin: 0; border: 0; max-width: 140px; }
  body.ip-prism-theme .board-main { margin-left: 0; padding: 28px 24px 50px; }
  body.ip-prism-theme .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  body.ip-prism-theme { font-size: 14px; }
  body.ip-prism-theme .app-top { position: relative; padding: 20px; gap: 18px; flex-direction: column; align-items: stretch; }
  body.ip-prism-theme .top-user { justify-content: flex-start; width: 100%; }
  body.ip-prism-theme .top-user > span { text-align: left; margin-bottom: 4px; }
  body.ip-prism-theme .top-user > button { min-height: 38px; }
  body.ip-prism-theme .app-content { padding: 29px 20px 45px; }
  body.ip-prism-theme .page-heading { flex-direction: column; align-items: stretch; gap: 17px; }
  body.ip-prism-theme .page-heading > button { align-self: flex-start; }
  body.ip-prism-theme .page-heading h1,
  body.ip-prism-theme .page-top h1,
  body.ip-prism-theme .hero h1 { font-size: 29px; }
  body.ip-prism-theme .project-grid { grid-template-columns: 1fr; }
  body.ip-prism-theme .project-card { min-height: 175px; }
  body.ip-prism-theme .stat-grid,
  body.ip-prism-theme .usage-cards { gap: 12px; }
  body.ip-prism-theme .stat-grid .card,
  body.ip-prism-theme .usage-cards .card { padding: 18px; }
  body.ip-prism-theme .stat-grid strong,
  body.ip-prism-theme .usage-cards strong { font-size: 29px; }
  body.ip-prism-theme .card { padding: 20px; border-radius: 13px; }
  body.ip-prism-theme .quick-actions { padding: 20px; }
  body.ip-prism-theme .quick-action-grid { grid-template-columns: 1fr; }
  body.ip-prism-theme .quick-action-card { min-height: 104px; }
  body.ip-prism-theme .company-asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  body.ip-prism-theme .company-asset-card { padding: 13px; }
  body.ip-prism-theme .company-asset-card .candidate-image,
  body.ip-prism-theme .company-asset-card .image-empty { height: 190px; }
  body.ip-prism-theme .candidate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ip-prism-theme .columns { grid-template-columns: 1fr; gap: 16px; }
  body.ip-prism-theme .member-row { grid-template-columns: 1fr; }
  body.ip-prism-theme .member-row button { justify-self: start; }
  body.ip-prism-theme .admin-users article { grid-template-columns: 1fr 1fr; }
  body.ip-prism-theme .audit-list article { flex-wrap: wrap; gap: 8px; }
  body.ip-prism-theme .audit-list time { margin-left: 0; }
  body.ip-prism-theme .usage-account { width: 100%; min-width: 0; }
  body.ip-prism-theme .history-artifacts { grid-template-columns: 1fr; }
  body.ip-prism-theme .modal-shade { padding: 16px; }
  body.ip-prism-theme .modal { max-height: calc(100dvh - 32px); padding: 22px; border-radius: 15px; }
}
@media (max-width: 560px) {
  body.ip-prism-theme button,
  body.ip-prism-theme .button-link { min-height: 44px; }
  body.ip-prism-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
  body.ip-prism-theme select,
  body.ip-prism-theme textarea { font-size: 16px; min-height: 44px; }
  body.ip-prism-theme select:not([multiple]):not([size]),
  body.ip-prism-theme select:not([multiple])[size="0"],
  body.ip-prism-theme select:not([multiple])[size="1"] { height: 44px; min-height: 44px; }
  body.ip-prism-theme .app-content { padding: 27px 15px 40px; }
  body.ip-prism-theme .app-top { padding: 18px 15px; }
  body.ip-prism-theme .top-user > button { min-height: 40px; padding-inline: 10px; }
  body.ip-prism-theme .project-sidebar { padding: 16px 16px 0; }
  body.ip-prism-theme .project-sidebar h2 { font-size: 20px; max-width: calc(100% - 115px); }
  body.ip-prism-theme .project-sidebar nav { margin-inline: -16px; padding-inline: 16px; }
  body.ip-prism-theme .project-sidebar nav button { min-height: 43px; font-size: 12px; padding: 9px 13px; }
  body.ip-prism-theme .sidebar-footer { top: 48px; right: 16px; max-width: 110px; }
  body.ip-prism-theme .board-main { padding: 24px 15px 40px; }
  body.ip-prism-theme .page-top { gap: 16px; padding-bottom: 18px; margin-bottom: 22px; }
  body.ip-prism-theme .page-heading { margin-bottom: 23px; }
  body.ip-prism-theme .page-heading h1,
  body.ip-prism-theme .page-top h1,
  body.ip-prism-theme .hero h1 { font-size: 28px; }
  body.ip-prism-theme .card { padding: 18px; }
  body.ip-prism-theme .card h2 { font-size: 20px; }
  body.ip-prism-theme .card > header { gap: 14px; }
  body.ip-prism-theme .hero.card { padding: 24px 20px; }
  body.ip-prism-theme .stat-grid,
  body.ip-prism-theme .usage-cards { grid-template-columns: 1fr; margin: 18px 0; }
  body.ip-prism-theme .stat-grid .card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; align-items: center; }
  body.ip-prism-theme .stat-grid .card > span { grid-column: 1; }
  body.ip-prism-theme .stat-grid .card > strong { grid-column: 1; }
  body.ip-prism-theme .stat-grid .card > button { grid-column: 2; grid-row: 1 / 3; min-height: 40px; }
  body.ip-prism-theme .usage-cards .card { gap: 11px; }
  body.ip-prism-theme .project-card { padding: 22px; }
  body.ip-prism-theme .project-card h2 { font-size: 23px; }
  body.ip-prism-theme .project-actions .danger { min-height: 42px; }
  body.ip-prism-theme .quick-actions { padding: 18px; }
  body.ip-prism-theme .quick-action-card { gap: 12px; padding: 17px; }
  body.ip-prism-theme .quick-action-icon { width: 38px; height: 42px; }
  body.ip-prism-theme .quick-action-card strong { font-size: 16px; }
  body.ip-prism-theme .quick-action-card div span { font-size: 12px; }
  body.ip-prism-theme .toolbar { gap: 8px; }
  body.ip-prism-theme .toolbar > button { white-space: normal; }
  body.ip-prism-theme .company-asset-grid,
  body.ip-prism-theme .library-grid,
  body.ip-prism-theme .candidate-grid,
  body.ip-prism-theme .reference-library-grid { grid-template-columns: 1fr; }
  body.ip-prism-theme .company-asset-card { padding: 16px; }
  body.ip-prism-theme .company-asset-card .candidate-image,
  body.ip-prism-theme .company-asset-card .image-empty { height: 240px; }
  body.ip-prism-theme .company-asset-card .toolbar button { min-height: 40px; }
  body.ip-prism-theme .formal { flex-direction: column; align-items: stretch; }
  body.ip-prism-theme .formal .candidate-image { width: 100%; height: 180px; }
  body.ip-prism-theme .modal-shade { padding: 9px; }
  body.ip-prism-theme .modal { padding: 18px; max-height: calc(100dvh - 18px); }
  body.ip-prism-theme .modal > header h2 { font-size: 20px; }
  body.ip-prism-theme .modal > header button { width: 40px; height: 40px; min-height: 40px; }
  body.ip-prism-theme .notice,
  body.ip-prism-theme .error,
  body.ip-prism-theme .success { padding: 12px 13px; }
  body.ip-prism-theme .history-item { padding: 15px; }
  body.ip-prism-theme .login-card { padding: 29px 23px; border-radius: 17px; }
  body.ip-prism-theme .login-card h1 { font-size: 27px; }
  body.ip-prism-theme .login-card .brand-mark { margin-bottom: 29px; }
}
@media (max-width: 360px) {
  body.ip-prism-theme .app-content,
  body.ip-prism-theme .board-main { padding-left: 12px; padding-right: 12px; }
  body.ip-prism-theme .card { padding: 15px; }
  body.ip-prism-theme .project-card { padding: 19px; }
  body.ip-prism-theme .project-actions { gap: 6px; }
  body.ip-prism-theme .project-actions .danger { font-size: 11px; padding-inline: 9px; }
  body.ip-prism-theme .modal { padding: 15px; }
  body.ip-prism-theme .quick-action-card { padding: 14px; }
  body.ip-prism-theme .admin-users article { grid-template-columns: 1fr; gap: 7px; }
  body.ip-prism-theme .admin-users article button { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  body.ip-prism-theme *,
  body.ip-prism-theme *::before,
  body.ip-prism-theme *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Ideapop Prism — production workflow surfaces. */
body.ip-prism-theme [hidden]{display:none!important}
body.ip-prism-theme .episode-section{margin:14px 0;border:1px solid var(--ip-line);border-radius:13px;background:rgba(10,24,45,.65);min-width:0;overflow:clip}
body.ip-prism-theme .episode-section>summary{padding:17px 19px;line-height:1.55;font-size:15px;font-weight:600;color:var(--ip-ink);cursor:pointer;transition:background .18s,border-color .18s}
body.ip-prism-theme .episode-section>summary:hover{background:rgba(100,175,239,.09)}
body.ip-prism-theme .episode-section[open]>summary{color:var(--ip-blue);background:linear-gradient(105deg,rgba(99,183,248,.16),rgba(46,89,157,.05));border-bottom:1px solid var(--ip-line)}
body.ip-prism-theme .episode-section>summary::marker{color:var(--ip-blue);font-size:11px}
body.ip-prism-theme .episode-section>fieldset{margin:16px}
body.ip-prism-theme .table-scroll{max-width:100%;overflow-x:auto;scrollbar-color:#3b587b transparent}
body.ip-prism-theme .draft-breakdown{margin:28px 0 0;padding:23px 0 0;border-top:1px solid var(--ip-line);min-width:0}
body.ip-prism-theme .draft-breakdown>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
body.ip-prism-theme .draft-breakdown>header h3{font-size:20px;letter-spacing:-.025em;margin:0}
body.ip-prism-theme .draft-breakdown>button{margin:14px 9px 0 0}
body.ip-prism-theme .draft-breakdown table{table-layout:fixed;width:100%;min-width:560px}
body.ip-prism-theme .draft-breakdown table th:first-child{width:20%}
body.ip-prism-theme .draft-breakdown table th:nth-child(2){width:59%}
body.ip-prism-theme .draft-breakdown table td{vertical-align:top;line-height:1.8;padding:18px 20px;overflow-wrap:anywhere}
body.ip-prism-theme .draft-breakdown table td:first-child{font-weight:600;color:var(--ip-ink)}
body.ip-prism-theme .draft-breakdown table td:last-child{font-size:12px;color:var(--ip-muted)}
body.ip-prism-theme .conversion-progress{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 168px;column-gap:28px;min-height:192px;padding:28px;margin:25px 0;border:1px solid rgba(138,189,247,.26);border-radius:18px;background:radial-gradient(ellipse at 95% 0%,rgba(67,138,244,.20),transparent 65%),linear-gradient(135deg,rgba(29,52,88,.96),rgba(14,27,50,.97));box-shadow:inset 0 1px 0 rgba(183,223,255,.1),0 16px 42px rgba(0,5,20,.22);overflow-wrap:anywhere}
body.ip-prism-theme .conversion-progress>div[role=status]{grid-column:1;align-self:end}
body.ip-prism-theme .conversion-progress>div[role=status]>strong{display:block;font-size:18px;line-height:1.5;color:var(--ip-ink)}
body.ip-prism-theme .conversion-progress>div[role=status]>p{font-size:14px;color:var(--ip-blue);font-variant-numeric:tabular-nums;line-height:1.7;margin:10px 0}
body.ip-prism-theme .conversion-progress>p{grid-column:1;margin:4px 0;font-size:12px;line-height:1.8}
body.ip-prism-theme .conversion-progress:not([data-ip-progress]){grid-template-columns:1fr}
body.ip-prism-theme .conversion-progress>progress{grid-column:1/-1;accent-color:var(--ip-blue);height:7px!important;border:0;border-radius:20px;background:#203958;margin:16px 0;width:100%}
body.ip-prism-theme .conversion-progress>progress::-webkit-progress-bar{background:#203958;border-radius:20px}
body.ip-prism-theme .conversion-progress>progress::-webkit-progress-value{background:linear-gradient(90deg,#99ecff,#629bff);border-radius:20px}
body.ip-prism-theme .conversion-progress>progress::-moz-progress-bar{background:linear-gradient(90deg,#99ecff,#629bff);border-radius:20px}
body.ip-prism-theme .conversion-progress[data-ip-progress]::before{content:"";position:absolute;right:28px;top:25px;width:138px;height:138px;border-radius:50%;background:conic-gradient(from -90deg,#a4edff 0deg,#649cff var(--ip-progress),rgba(106,144,206,.13) var(--ip-progress),rgba(106,144,206,.13) 360deg);mask:radial-gradient(circle,transparent 61%,#000 62%);box-shadow:0 0 35px rgba(54,133,255,.1)}
body.ip-prism-theme .conversion-progress[data-ip-progress]::after{content:attr(data-ip-progress);position:absolute;right:28px;top:25px;width:138px;height:138px;display:grid;place-items:center;color:var(--ip-ink);font:500 34px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-2px;text-shadow:0 0 28px rgba(119,215,255,.3);pointer-events:none}
body.ip-prism-theme .conversion-progress[data-ip-progress]>progress{position:absolute;width:1px!important;height:1px!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap;margin:0}
body.ip-prism-theme .conversion-progress>.error{grid-column:1/-1;margin-top:28px;background:rgba(143,76,58,.1);border-color:rgba(240,178,140,.22);color:#efc3ad;padding:18px}
body.ip-prism-theme .conversion-progress>.error .button-row{margin-top:12px;gap:8px}
body.ip-prism-theme .conversion-progress>.error button{background:rgba(83,48,41,.28);border-color:rgba(240,178,140,.24);color:#f4c7b1;font-size:12px}
body.ip-prism-theme .camera-coverage-preview{margin:26px 0;padding:20px;border:1px solid var(--ip-line);border-radius:14px;background:rgba(6,16,34,.5)}
body.ip-prism-theme .camera-coverage-preview>h4{font-size:16px;color:var(--ip-ink);margin:0 0 18px;letter-spacing:.015em}
body.ip-prism-theme .camera-coverage-preview details{border-color:var(--ip-line);background:rgba(19,37,64,.28);border-radius:10px;margin:10px 0;padding:0}
body.ip-prism-theme .camera-coverage-preview details>summary{padding:15px 17px;line-height:1.7;cursor:pointer}
body.ip-prism-theme .camera-coverage-preview .episode-section>details{margin:12px}
body.ip-prism-theme .camera-coverage-preview details>p{padding:0 17px;line-height:1.85}
body.ip-prism-theme .camera-prompt-editor,body.ip-prism-theme .camera-prompt-grid{gap:14px;margin:16px}
body.ip-prism-theme .camera-prompt-editor article,body.ip-prism-theme .camera-prompt-grid article,body.ip-prism-theme .camera-prompt-editor>label{background:#0b192d;border-color:var(--ip-line);border-radius:11px;padding:18px;min-width:0}
body.ip-prism-theme .camera-prompt-grid article>strong,body.ip-prism-theme .camera-prompt-editor>label>span{color:var(--ip-blue);font-size:13px}
body.ip-prism-theme .camera-prompt-grid article>p{font-size:14px;line-height:1.85;color:#c4d2e5;overflow-wrap:anywhere}
body.ip-prism-theme .camera-prompt-editor textarea{min-height:170px}
body.ip-prism-theme .episode-editor,body.ip-prism-theme .asset-plan{border-color:var(--ip-line);border-radius:13px;padding:22px;background:rgba(13,28,49,.66);margin:17px 0}
body.ip-prism-theme .episode-editor pre,body.ip-prism-theme .script-preview pre{font-family:inherit;font-size:15px;line-height:2;color:#c9d8e9;max-width:84ch;overflow-wrap:anywhere}
body.ip-prism-theme .script-preview{padding:22px 0;border-color:var(--ip-line)}
body.ip-prism-theme .episode-plan article{padding:18px 0;gap:18px;border-color:var(--ip-line)}
body.ip-prism-theme .episode-plan article>div{min-width:0}
body.ip-prism-theme .episode-plan p{color:var(--ip-muted);line-height:1.65}
body.ip-prism-theme .asset-list{gap:24px}
body.ip-prism-theme .requirements{line-height:1.9;color:#c7d6e8;font-size:14px}
body.ip-prism-theme .asset details{color:var(--ip-muted);padding:10px 0}
body.ip-prism-theme .asset pre{background:#080f20;border-radius:10px;padding:18px;line-height:1.9;color:#bbcee3;overflow-wrap:anywhere}
body.ip-prism-theme .candidate-grid{gap:14px}
body.ip-prism-theme .candidate{border-color:var(--ip-line);border-radius:13px;padding:10px;background:rgba(7,18,35,.55)}
body.ip-prism-theme .candidate-image{border-radius:8px;background:#07101f}
body.ip-prism-theme .candidate-wait{background:rgba(12,26,46,.7);color:var(--ip-muted);border-color:rgba(139,179,225,.25);border-radius:12px;min-height:210px}
body.ip-prism-theme .candidate-wait.is-generating{background:rgba(49,106,175,.12);border-color:rgba(111,201,249,.38);color:var(--ip-blue)}
body.ip-prism-theme .candidate-wait.is-failed{border-color:rgba(249,154,150,.32);color:#ffc1ba}
body.ip-prism-theme .candidate-spinner{border-color:#253c5b;border-top-color:var(--ip-blue)}
body.ip-prism-theme .formal{background:rgba(46,123,102,.10);border-color:rgba(116,226,188,.3);border-radius:12px;padding:15px}
body.ip-prism-theme .shot-pool{gap:20px}
body.ip-prism-theme .shot-card{background:linear-gradient(135deg,#102139,#0b172a);border-color:var(--ip-line);border-radius:15px;padding:24px;box-shadow:inset 0 1px 0 rgba(182,219,255,.025)}
body.ip-prism-theme .shot-card.owned{border-color:rgba(121,203,255,.35);background:linear-gradient(135deg,#142b47,#0c192f)}
body.ip-prism-theme .shot-card-heading{gap:20px}
body.ip-prism-theme .shot-card-heading strong{font-size:17px;font-weight:600;line-height:1.6}
body.ip-prism-theme .shot-card-heading p{color:var(--ip-muted);line-height:1.7;font-size:13px}
body.ip-prism-theme .shot-card-actions{gap:10px;margin-top:20px}
body.ip-prism-theme .job-list{gap:12px;margin-top:20px;padding-top:18px;border-color:var(--ip-line)}
body.ip-prism-theme .job-row{flex-wrap:wrap;line-height:1.6}
body.ip-prism-theme .job-row .error-summary{color:#ffc0b8}
body.ip-prism-theme .video-version{gap:22px;border-color:var(--ip-line);padding-top:20px;margin-top:20px}
body.ip-prism-theme .video-version-meta{min-width:0}
body.ip-prism-theme .video-preview{background:#020713;border-radius:12px;border:1px solid var(--ip-line)}
body.ip-prism-theme .video-loadout{background:linear-gradient(150deg,#132641,#0a172b);border-color:rgba(134,186,247,.3);border-radius:20px;box-shadow:0 20px 70px rgba(0,3,15,.25)}
body.ip-prism-theme .loadout-tabs{gap:8px;margin:0 0 22px;padding:18px 0;border-color:var(--ip-line)}
body.ip-prism-theme .loadout-tabs button{border-radius:9px;background:rgba(10,22,39,.7);border-color:var(--ip-line);color:var(--ip-muted);padding:11px 19px}
body.ip-prism-theme .loadout-tabs button.active{background:linear-gradient(135deg,rgba(98,178,239,.25),rgba(74,119,202,.12));border-color:rgba(132,213,255,.48);color:#c3f2ff;box-shadow:0 0 20px rgba(84,163,244,.07)}
body.ip-prism-theme .loadout-tabs button small{font-size:11px;color:#8fa9c6;line-height:1.5;margin-top:4px}
body.ip-prism-theme .loadout-reference-head{gap:12px;margin:20px 0 13px;flex-wrap:wrap}
body.ip-prism-theme .loadout-reference-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:13px}
body.ip-prism-theme .reference-tile,body.ip-prism-theme .reference-upload{border-color:var(--ip-line);background:#0b192c;border-radius:12px;padding:10px;min-width:0;transition:background .18s,border-color .18s,box-shadow .18s}
body.ip-prism-theme .reference-tile:hover,body.ip-prism-theme .reference-upload:hover{background:#132d49;border-color:rgba(126,206,252,.4)}
body.ip-prism-theme .reference-tile.selected{border-color:#82d7ff;background:#163550;box-shadow:0 0 0 1px rgba(130,215,255,.16),0 0 22px rgba(52,149,236,.07)}
body.ip-prism-theme .reference-tile span{color:#d6e9f7;font-size:12px;line-height:1.5}
body.ip-prism-theme .reference-tile small,body.ip-prism-theme .reference-upload small{font-size:11px;color:var(--ip-muted)}
body.ip-prism-theme .reference-upload>span{color:var(--ip-blue)}
body.ip-prism-theme .reference-empty{background:#0c1a30;border-color:var(--ip-line);color:var(--ip-muted);border-radius:11px;padding:20px}
body.ip-prism-theme .reference-library-picker{border-color:var(--ip-line);border-radius:12px;padding:18px}
body.ip-prism-theme .reference-library-item{background:#0b1b31;border-color:var(--ip-line);border-radius:12px;padding:10px;transition:background .18s,border-color .18s}
body.ip-prism-theme .reference-library-item.selected{border-color:#82d7ff;background:#142e48;box-shadow:0 0 0 1px rgba(130,215,255,.12)}
body.ip-prism-theme .loadout-prompt{margin-top:26px;color:var(--ip-ink);gap:10px}
body.ip-prism-theme .loadout-prompt textarea{background:#080f21;border-color:rgba(149,185,239,.24);color:var(--ip-ink);border-radius:12px;min-height:190px;padding:18px;font-size:15px;line-height:1.9}
body.ip-prism-theme .structured-fields{gap:14px;margin-top:19px}
body.ip-prism-theme .loadout-settings{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:23px;padding-top:23px;border-color:var(--ip-line)}
body.ip-prism-theme .structured-fields label,body.ip-prism-theme .loadout-settings label{font-size:13px;color:var(--ip-muted);min-width:0}
body.ip-prism-theme .loadout-ready{color:#afe4d6;border-color:rgba(125,221,190,.25);background:rgba(44,114,92,.12);padding:14px;border-radius:10px;line-height:1.7}
body.ip-prism-theme .loadout-blockers{color:#ffd1be;border-color:rgba(238,171,128,.25);background:rgba(124,74,50,.12);padding:14px;border-radius:10px;line-height:1.7}
body.ip-prism-theme .loadout-submit{margin-top:24px;gap:18px}
body.ip-prism-theme .loadout-submit>.generate-button{border-radius:10px;min-height:48px;font-size:14px;padding:13px 28px}
body.ip-prism-theme .ref-chip{background:#142b45;border-color:rgba(128,195,239,.24);color:#bddced;padding:7px 12px}
body.ip-prism-theme .prompt-editor{background:#0d1d34;border-color:rgba(134,186,247,.3);border-radius:18px}
body.ip-prism-theme .standalone-generator{gap:24px}
body.ip-prism-theme .standalone-settings{gap:14px;grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
body.ip-prism-theme .standalone-settings label{font-size:13px;color:var(--ip-muted)}
body.ip-prism-theme .standalone-ref-grid{gap:14px}
body.ip-prism-theme .standalone-ref{background:linear-gradient(150deg,#14253e,#0b192e);border-color:var(--ip-line);border-radius:13px;padding:16px;gap:13px;min-height:150px}
body.ip-prism-theme .standalone-ref header strong{font-size:14px;letter-spacing:.015em}
body.ip-prism-theme .standalone-ref-row{gap:11px;border-top:1px solid var(--ip-line);padding-top:10px}
body.ip-prism-theme .standalone-prompt{gap:10px}
body.ip-prism-theme .standalone-prompt textarea{min-height:200px;padding:18px;line-height:1.85;background:#080f21}
body.ip-prism-theme .standalone-results{padding-top:22px;border-color:var(--ip-line);gap:16px}
body.ip-prism-theme .standalone-job{background:#0d1c31;border-color:var(--ip-line);padding:18px;border-radius:14px;gap:14px}
body.ip-prism-theme .standalone-job header{gap:12px;flex-wrap:wrap}
body.ip-prism-theme .standalone-artifact{gap:14px}
body.ip-prism-theme .timeline-preview{gap:20px}
body.ip-prism-theme .timeline-preview-player{border-radius:14px}
body.ip-prism-theme .timeline-preview-list{border-color:var(--ip-line);gap:9px;padding-top:16px}
body.ip-prism-theme .timeline-preview-list button{padding:12px 15px;text-align:left;gap:12px}
body.ip-prism-theme .timeline-preview-list button.active{background:#16324f;border-color:#73bded;color:var(--ip-blue)}
/* Independently mounted episode editors inherit the same tokens. */
body.ip-prism-theme :is(.se-page,.ew-page){background:radial-gradient(ellipse at 75% 0%,rgba(40,91,197,.24),transparent 55%),#070e1d;color:var(--ip-ink);font-family:inherit}
body.ip-prism-theme :is(.se-top,.ew-top){background:rgba(8,19,37,.94);border-color:var(--ip-line);padding:24px 30px;backdrop-filter:blur(20px);gap:18px}
body.ip-prism-theme :is(.se-top,.ew-top) h1{color:var(--ip-ink);font-size:28px;letter-spacing:-.035em}
body.ip-prism-theme :is(.se-top,.ew-top) p,body.ip-prism-theme :is(.se-field,.ew-label){color:var(--ip-muted);line-height:1.7}
body.ip-prism-theme :is(.se-panel,.se-shot,.ew-section,.ew-shot){background:linear-gradient(145deg,#13223b,#0c192d);border-color:var(--ip-line);border-radius:15px;padding:23px;color:var(--ip-ink);box-shadow:inset 0 1px 0 rgba(188,222,255,.035)}
body.ip-prism-theme :is(.se-page,.ew-page) h2{font-size:19px;letter-spacing:-.02em;color:var(--ip-ink)}
body.ip-prism-theme :is(.se-pool-group,.se-ref-choice,.se-file,.ew-pool-item,.ew-ref,.ew-camera-card){background:#0b192d;border-color:var(--ip-line);border-radius:11px;color:var(--ip-ink)}
body.ip-prism-theme :is(.se-page,.ew-page) :is(input,textarea,select){background:#080f21;color:var(--ip-ink);border-color:rgba(149,185,239,.24);border-radius:9px;line-height:1.7}
body.ip-prism-theme :is(.se-page,.ew-page) textarea{font-size:15px;padding:15px}
body.ip-prism-theme :is(.se-page,.ew-page) button{border-color:var(--ip-line);border-radius:9px;background:#132740;color:#c6deef;padding:10px 15px;transition:background .18s,box-shadow .18s,transform .12s}
body.ip-prism-theme :is(.se-page,.ew-page) button:hover:not(:disabled){background:#1a3957;border-color:#76b8e8}
body.ip-prism-theme :is(.se-page,.ew-page) :is(.se-primary,.ew-primary){background:linear-gradient(110deg,#9debff,#74b5ff);border-color:#a4dfff;color:#0a223b;font-weight:600;box-shadow:0 4px 22px rgba(76,150,241,.15)}
body.ip-prism-theme :is(.se-footer,.ew-footer){background:rgba(8,18,35,.96);border-color:var(--ip-line);color:var(--ip-muted);backdrop-filter:blur(18px);padding:18px 28px}
body.ip-prism-theme :is(.se-status,.ew-state){background:rgba(72,134,198,.13);border-color:rgba(123,186,239,.22);color:var(--ip-blue);font-size:12px;border-radius:20px;padding:5px 10px}
body.ip-prism-theme :is(.se-leave-dialog){background:#10213a;border:1px solid rgba(143,194,246,.35);border-radius:18px;padding:26px;color:var(--ip-ink)}
body.ip-prism-theme :is(.se-leave-shade,.ew-backdrop){background:rgba(2,7,18,.8);backdrop-filter:blur(10px)}
body.ip-prism-theme :is(.se-shot-result,.se-result-item,.ew-videos){border-color:var(--ip-line);background:rgba(3,12,25,.4);border-radius:11px}
body.ip-prism-theme :is(.se-match-warning,.ew-warning){background:rgba(141,96,39,.13);border-color:rgba(226,180,104,.28);color:#e6c798}
body.ip-prism-theme :is(.se-error,.ew-error){background:rgba(160,69,73,.12);border-color:rgba(240,142,143,.3);color:#ffc0b8}
body.ip-prism-theme .ew-success{background:rgba(61,143,115,.12);border-color:rgba(133,227,188,.25);color:#b5ead4}
@media(min-width:1400px){body.ip-prism-theme .board-main{max-width:1580px}body.ip-prism-theme .loadout-reference-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1000px){body.ip-prism-theme .camera-prompt-grid,body.ip-prism-theme .camera-prompt-editor{grid-template-columns:1fr}body.ip-prism-theme .structured-fields{grid-template-columns:repeat(2,minmax(0,1fr))}body.ip-prism-theme .conversion-progress{padding:24px;column-gap:16px;grid-template-columns:minmax(0,1fr) 146px}body.ip-prism-theme .conversion-progress[data-ip-progress]::before,body.ip-prism-theme .conversion-progress[data-ip-progress]::after{right:24px}}
@media(max-width:640px){
body.ip-prism-theme .episode-section>summary{padding:15px;font-size:14px}
body.ip-prism-theme .draft-breakdown{margin-top:22px;padding-top:20px}
body.ip-prism-theme .draft-breakdown>header{gap:10px;align-items:flex-start}
body.ip-prism-theme .draft-breakdown>header h3{font-size:18px}
body.ip-prism-theme .conversion-progress{padding:19px;grid-template-columns:minmax(0,1fr);padding-top:154px;min-height:0;margin:20px 0}
body.ip-prism-theme .conversion-progress[data-ip-progress]::before,body.ip-prism-theme .conversion-progress[data-ip-progress]::after{width:108px;height:108px;right:auto;left:20px;top:23px}
body.ip-prism-theme .conversion-progress[data-ip-progress]::after{font-size:29px}
body.ip-prism-theme .conversion-progress:not([data-ip-progress]){padding-top:19px}
body.ip-prism-theme .conversion-progress>div[role=status]>strong{font-size:16px}
body.ip-prism-theme .conversion-progress>.error{padding:14px;margin-top:18px}
body.ip-prism-theme .conversion-progress>.error button{min-height:42px;max-width:100%;white-space:normal;text-align:left}
body.ip-prism-theme .camera-coverage-preview{padding:12px;margin-top:22px}
body.ip-prism-theme .camera-coverage-preview .episode-section>details{margin:8px}
body.ip-prism-theme .camera-coverage-preview details>summary{padding:13px;font-size:13px}
body.ip-prism-theme .camera-prompt-editor,body.ip-prism-theme .camera-prompt-grid{margin:12px;gap:10px}
body.ip-prism-theme .camera-prompt-grid article{padding:14px}
body.ip-prism-theme .episode-editor,body.ip-prism-theme .asset-plan,body.ip-prism-theme .shot-card{padding:17px}
body.ip-prism-theme .shot-card-actions button{min-width:0;flex:1 1 120px;white-space:normal}
body.ip-prism-theme .shot-card-heading strong{font-size:16px}
body.ip-prism-theme .video-version{display:grid;gap:16px}
body.ip-prism-theme .loadout-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.ip-prism-theme .reference-tile,body.ip-prism-theme .reference-upload{padding:8px}
body.ip-prism-theme .loadout-settings,body.ip-prism-theme .standalone-settings,body.ip-prism-theme .standalone-ref-grid{grid-template-columns:1fr}
body.ip-prism-theme .structured-fields{grid-template-columns:1fr}
body.ip-prism-theme .structured-fields .wide-field{grid-column:auto}
body.ip-prism-theme .loadout-submit{align-items:stretch;flex-direction:column}
body.ip-prism-theme .loadout-tabs button{flex:1;min-width:0;padding:11px 8px;font-size:12px}
body.ip-prism-theme .standalone-ref{padding:14px}
body.ip-prism-theme .standalone-prompt textarea{min-height:170px}
body.ip-prism-theme .candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.ip-prism-theme .formal{flex-wrap:wrap}
body.ip-prism-theme .formal .candidate-image{width:100%;height:180px}
body.ip-prism-theme :is(.se-top,.ew-top){padding:20px 16px;flex-wrap:wrap}
body.ip-prism-theme :is(.se-top,.ew-top) h1{font-size:23px}
body.ip-prism-theme :is(.se-panel,.se-shot,.ew-section,.ew-shot){padding:16px;border-radius:12px}
body.ip-prism-theme :is(.se-footer,.ew-footer){padding:14px 16px;gap:12px;flex-wrap:wrap}
body.ip-prism-theme :is(.se-page,.ew-page) textarea,body.ip-prism-theme textarea{font-size:16px}
body.ip-prism-theme :is(.se-pools,.se-ref-grid,.ew-camera-grid,.ew-ref-grid){grid-template-columns:1fr}
body.ip-prism-theme :is(.se-shot-controls,.ew-row,.ew-controls){flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){body.ip-prism-theme *,body.ip-prism-theme *::before,body.ip-prism-theme *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
