/* New Survey Intake — Platform-look styling (PP Telegraf, mint/white) */
:root{
  --ink:#050301; --muted:#636c79; --faint:#9aa6b2; --line:#e5ebf1; --line2:#eef2f6;
  --bg:#f6fafd; --paper:#fff; --green:#3a8518; --green-deep:#2b6418;
  --mint:#f1f8ec; --mint-line:#cfe6bd; --amber:#fff3dc; --amber-tx:#8c5800;
  --shadow:0 8px 24px rgba(4,12,21,0.10);
}
*{ box-sizing:border-box; }
.ix-font{ font-family:'PP Telegraf', sans-serif; }

/* ---------------- Split layout ---------------- */
.ix-split{ display:flex; flex:1; min-height:0; position:relative; }
.ix-conv{ flex:1; width:100%; min-width:0; display:flex; flex-direction:column; min-height:0; overflow:hidden; background:var(--paper); border-right:1px solid var(--line); position:relative; z-index:5; }
.ix-right{ flex:1; min-width:0; display:flex; flex-direction:column; min-height:0; }
.ix-rightrow{ flex:1; min-height:0; display:flex; justify-content:center; padding:0 24px; background:var(--bg); }
/* The brief column stops at its content, so surplus width goes to the rail rather
   than the gap between them: 760px card cap + the scroll's own left padding + 26px
   right. That padding is 42px only while the collapsed chat's edge tab needs
   clearance, so the basis follows it instead of being one compromise number. */
.ix-artwrap{ flex:0 1 812px; }
.ix-artwrap:has(.ix-art--fab){ flex-basis:828px; }
.ix-art{ position:relative; flex:1 1 auto; min-width:0; display:flex; flex-direction:column; min-height:0; background:var(--bg); }

/* ---------------- Breadcrumb / topbar ---------------- */
.ix-crumb{ height:44px; flex:none; display:flex; align-items:center; gap:10px; padding:0 22px;
  background:var(--paper); border-bottom:1px solid var(--line); font-size:13px; }
.ix-crumb a{ color:var(--green); font-weight:600; text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.ix-crumb .sep{ color:#ced6de; }

/* ---------------- Conversation pane ---------------- */
.ix-conv__head{ flex:none; padding:14px 18px 12px; border-bottom:none; }
.ix-sess{ display:flex; align-items:center; gap:8px; position:relative; }
.ix-sess__btn{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--paper);
  border-radius:900px; padding:5px 10px 5px 8px; cursor:pointer; font-family:inherit; font-size:12.5px; font-weight:600; color:var(--ink); }
.ix-sess__dot{ width:7px;height:7px;border-radius:50%;background:var(--green); }
.ix-sess__menu{ position:absolute; top:38px; left:0; z-index:40; width:300px; background:var(--paper);
  border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:6px; animation:ixpop 140ms cubic-bezier(.2,0,0,1); }
.ix-sess__item{ width:100%; text-align:left; border:none; background:transparent; border-radius:8px; padding:9px 10px; cursor:pointer; font-family:inherit; }
.ix-sess__item:hover{ background:var(--line2); }
.ix-sess__item.on{ background:var(--mint); }
.ix-sess__item-t{ font-size:13px; font-weight:600; color:var(--ink); }
.ix-sess__item-m{ font-size:11.5px; color:var(--muted); margin-top:2px; }
.ix-conv__title{ font-size:13px; color:var(--muted); margin-top:8px; }

.ix-log{ flex:1; min-height:0; overflow-y:auto; padding:20px 18px 8px; display:flex; flex-direction:column; gap:16px; }
.ix-msg{ display:flex; gap:10px; animation:ixrise 320ms cubic-bezier(.2,0,0,1) backwards; }.ix-msg__av{ width:26px;height:26px;border-radius:7px; flex:none; display:flex;align-items:center;justify-content:center; font-size:12px; font-weight:700; margin-top:2px; }
.ix-msg__av--ai{ background:var(--ink); color:#fff; }
.ix-msg__av--me{ background:var(--green); color:#fff; font-size:10px; }
.ix-msg__body{ min-width:0; flex:1; }
.ix-msg--me{ justify-content:flex-end; }
.ix-msg--me .ix-msg__body{ flex:0 1 auto; max-width:84%; display:flex; flex-direction:column; align-items:flex-end; }
.ix-msg--me .ix-msg__turns{ align-items:flex-end; }
.ix-msg--me .ix-turn{ align-items:flex-end; }
.ix-msg__name{ font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--faint); margin-bottom:4px; }
.ix-msg__turns{ display:flex; flex-direction:column; gap:12px; }
.ix-turn{ display:flex; flex-direction:column; gap:8px; }

/* context checkpoint — unified action hub the Synthesist hands back at */
.ix-check{ display:flex; flex-direction:column; gap:8px; }
.ix-check__act{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:11px 12px; border-radius:10px; border:1px solid var(--line); background:var(--paper); cursor:pointer; transition:border-color 120ms, background 120ms; }
.ix-check__act:hover{ border-color:var(--green); background:var(--mint); }
.ix-check__ic{ flex:none; width:34px; height:34px; border-radius:9px; background:var(--line2); color:var(--ink); display:flex; align-items:center; justify-content:center; }
.ix-check__act:hover .ix-check__ic{ background:var(--green); color:#fff; }
.ix-check__txt{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.ix-check__lbl{ font-size:13.5px; font-weight:600; color:var(--ink); }
.ix-check__sub{ font-size:11.5px; line-height:1.4; color:var(--muted); }
.ix-check__go{ flex:none; color:var(--faint); }
.ix-check__act:hover .ix-check__go{ color:var(--green); }
.ix-check__more{ position:relative; }
.ix-check__morebtn{ display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border-radius:9px; border:none; background:transparent; color:var(--muted); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; transition:background 120ms, color 120ms; }
.ix-check__morebtn:hover, .ix-check__morebtn.on{ background:var(--line2); color:var(--ink); }
.ix-check__menu{ margin-top:4px; display:flex; flex-direction:column; gap:2px; padding:6px; border:1px solid var(--line); border-radius:10px; background:var(--paper); animation:ixrise 160ms ease backwards; }
.ix-check__menuh{ font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); padding:5px 8px 4px; }
.ix-check__mi{ text-align:left; padding:8px 9px; border-radius:8px; border:none; background:transparent; color:var(--ink); font-family:inherit; font-size:12.5px; line-height:1.45; cursor:pointer; transition:background 120ms; }
.ix-check__mi:hover{ background:var(--mint); color:var(--green-deep); }
.ix-check--done{ display:inline-flex; flex-direction:row; align-items:center; gap:8px; padding:9px 14px; font-size:13px; font-weight:600; color:var(--green-deep); background:var(--mint); border-color:transparent; box-shadow:none; }
.ix-check__doneic{ width:19px; height:19px; border-radius:900px; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.ix-bub{ font-size:14px; line-height:1.55; color:var(--ink); }
.ix-bub p{ margin:0 0 8px; }
.ix-bub p:last-child{ margin-bottom:0; }
.ix-msg--me .ix-bub{ background:transparent; border:1px solid var(--line); border-radius:12px; padding:10px 13px; }
.ix-bub strong{ font-weight:700; }

/* AI follow-up question block */
.ix-fq{ margin-top:10px; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.ix-fq__q{ display:flex; gap:9px; padding:11px 13px; border-bottom:1px solid var(--line2); background:#fbfdff; }
.ix-fq__q:last-child{ border-bottom:none; }
.ix-fq__num{ width:18px;height:18px;border-radius:50%; flex:none; background:var(--line2); color:var(--muted); font-size:10px; font-weight:700; display:flex;align-items:center;justify-content:center; margin-top:1px; }
.ix-fq__qt{ font-size:13.5px; font-weight:600; color:var(--ink); line-height:1.4; }
.ix-fq__chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.ix-chip{ border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:900px;
  padding:5px 11px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; transition:all 120ms; }
.ix-chip:hover{ border-color:var(--green); background:var(--mint); color:var(--green-deep); }
.ix-chip.on{ border-color:var(--green); background:var(--green); color:#fff; }
.ix-fq__done{ padding:10px 13px; display:flex; justify-content:flex-end; background:#fbfdff; }

/* thinking dots */
.ix-think{ display:inline-flex; gap:4px; padding:4px 0; }
.ix-think span{ width:6px;height:6px;border-radius:50%; background:var(--faint); animation:ixblink 1s infinite ease-in-out; }
.ix-think span:nth-child(2){ animation-delay:.16s; } .ix-think span:nth-child(3){ animation-delay:.32s; }
.ix-live{ display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-deep); margin-left:8px; }
.ix-live .pulse{ width:6px;height:6px;border-radius:50%; background:var(--green); animation:ixpulse 1.4s infinite; }

/* upload dropzone */
.ix-drop{ margin-top:10px; border:1.5px dashed #c3d3df; border-radius:12px; padding:14px; background:#fbfdff; }
/* Products missing: the same dropzone, raised to a warning so the CTA reads. */
.ix-drop--warn{ border-color:#f0dcae; border-style:solid; background:#fffaf0; }
.ix-drop--warn .ix-drop__t{ color:var(--amber-tx); }
.ix-drop--warn .ix-drop__s{ color:#8a7448; }
.ix-drop__t{ font-size:13px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; }
.ix-drop__s{ font-size:12px; color:var(--muted); margin:3px 0 10px; }
.ix-files{ display:flex; flex-direction:column; gap:7px; }
.ix-file{ display:flex; align-items:center; gap:11px; border:1px solid var(--line); background:var(--paper);
  border-radius:10px; padding:9px 11px; cursor:pointer; text-align:left; width:100%; font-family:inherit; transition:all 120ms; }
.ix-file:hover{ border-color:var(--green); box-shadow:0 2px 8px rgba(58,133,24,.08); }
.ix-file__ic{ width:34px;height:34px;border-radius:8px; flex:none; display:flex;align-items:center;justify-content:center; font-size:11px; font-weight:700; }
.ic-xls{ background:#e2efde; color:#2f5f2a; } .ic-doc{ background:#e2effa; color:#0a4a8f; } .ic-zip{ background:#f3ece0; color:#8a5a16; }
.ic-link{ background:#ece4fa; color:#5a2fb0; }
.ix-file__n{ font-size:13px; font-weight:600; color:var(--ink); }
.ix-file__m{ font-size:11.5px; color:var(--muted); margin-top:1px; }
.ix-file__d{ font-size:11.5px; color:var(--faint); margin-top:3px; line-height:1.4; }
.ix-file__go{ margin-left:auto; color:var(--green); flex:none; }

/* raw-file peek while parsing */
.ix-raw{ margin-top:10px; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.ix-raw__bar{ display:flex; align-items:center; gap:8px; padding:8px 11px; background:#f4f7fa; border-bottom:1px solid var(--line); font-size:12px; font-weight:600; color:var(--muted); }
.ix-raw__pre{ margin:0; padding:11px 13px; font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; line-height:1.55; color:#46535f; max-height:150px; overflow:auto; white-space:pre-wrap; }

/* change summary card */
.ix-change{ margin-top:8px; border:1px solid var(--mint-line); background:var(--mint); border-radius:12px; padding:11px 13px; }
.ix-change__t{ font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-deep); margin-bottom:7px; display:flex; align-items:center; gap:6px; }
.ix-change__row{ display:flex; gap:8px; font-size:12.5px; color:var(--ink); padding:3px 0; }
.ix-change__sec{ flex:none; font-weight:700; color:var(--green-deep); }

/* composer */
.ix-composer{ flex:none; padding:12px 16px 16px; background:var(--paper); }
.ix-composer__box{ border:1px solid var(--line); border-radius:14px; background:var(--paper); padding:10px 12px; transition:border-color 120ms; }
.ix-composer__box:focus-within{ border-color:var(--green); }
.ix-composer textarea{ width:100%; border:none; outline:none; resize:none; font-family:inherit; font-size:14px; line-height:1.5; color:var(--ink); background:transparent; max-height:140px; }
.ix-composer textarea::placeholder{ color:var(--faint); }
.ix-composer__row{ display:flex; align-items:center; gap:8px; margin-top:8px; }
.ix-iconbtn{ width:32px;height:32px;border-radius:9px; border:1px solid var(--line); background:var(--paper); color:var(--muted); cursor:pointer; display:flex;align-items:center;justify-content:center; }
.ix-iconbtn:hover{ color:var(--ink); background:var(--line2); }
.ix-send{ margin-left:auto; width:34px;height:34px;border-radius:10px; border:none; background:var(--green); color:#fff; cursor:pointer; display:flex;align-items:center;justify-content:center; transition:background 120ms; }
.ix-send:disabled{ background:#e3e9ef; color:#aab4be; cursor:not-allowed; }
.ix-suggest{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:9px; }
.ix-suggest__b{ border:1px solid var(--line); background:#fbfdff; border-radius:900px; padding:5px 11px; font-size:12px; color:var(--muted); cursor:pointer; font-family:inherit; }
.ix-suggest__b:hover{ border-color:var(--green); color:var(--green-deep); }

/* ---------------- Artifact pane ---------------- */
.ix-art__head{ flex:none; position:relative; padding:16px 26px 14px; border-bottom:1px solid var(--line); background:var(--paper); display:flex; align-items:center; gap:14px; }
.ix-art__back{ flex:none; width:32px; height:32px; border-radius:9px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 120ms, border-color 120ms; }
.ix-art__back:hover{ background:var(--line2); border-color:#c3ccd6; }
.ix-art__home{ flex:none; width:32px; height:32px; border-radius:9px; border:none; background:var(--ink); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 120ms; }
.ix-art__home:hover{ background:#242424; }
.ix-art__title{ font-family:'PP Telegraf'; font-weight:700; font-size:18px; letter-spacing:-.01em; color:var(--ink); }
/* centered study-mode switcher in the survey bar — three flex zones reserve space */
.ix-art__hzone{ display:flex; align-items:center; gap:12px; flex:1 1 0; min-width:0; }
.ix-art__hzone--r{ justify-content:flex-end; }
/* the head degrades before the primary action does: share, then the title */
@media (max-width:1280px){ .ix-art__head{ padding-left:16px; padding-right:16px; gap:10px; } .ix-art__share{ display:none; } }
@media (max-width:1080px){ .ix-art__hzone--l .ix-art__title{ display:none; } }
.ix-art__hzone .ix-art__title{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ix-studytabs{ flex:none; display:flex; align-items:center; gap:3px; }
.ix-studytab{ display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 9px; border:none; background:transparent; color:var(--muted); border-radius:900px; cursor:pointer; font-family:'PP Telegraf',sans-serif; transition:background 140ms ease, color 140ms ease; }
.ix-studytab:not(:disabled):hover{ color:var(--ink); background:var(--line2); }
.ix-studytab:disabled{ cursor:default; }
.ix-studytab.on{ background:var(--line2); color:var(--ink); padding:0 14px 0 11px; border-radius:10px; }
.ix-studytab.on:hover{ background:#e2e8ef; }
.ix-studytab__label{ font-size:13.5px; font-weight:700; letter-spacing:-.01em; white-space:nowrap; }
.ix-art__sub{ font-size:12.5px; color:var(--muted); margin-top:2px; }
.ix-conf{ margin-left:auto; display:flex; align-items:center; gap:14px; }
.ix-ring{ position:relative; width:46px;height:46px; }
.ix-ring__num{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--ink); }
.ix-art__tabs{ flex:none; display:flex; gap:0; padding:0 26px; background:var(--paper); border-bottom:1px solid var(--line); }
.ix-art__tab{ padding:11px 16px; border:none; background:transparent; border-bottom:2px solid transparent; color:var(--muted); font-weight:600; font-size:13.5px; cursor:pointer; font-family:inherit; margin-bottom:-1px; display:inline-flex; align-items:center; gap:7px; }
.ix-art__tab.on{ color:var(--ink); border-bottom-color:var(--green); }
.ix-art__tab .pill{ font-size:10px; font-weight:700; padding:1px 7px; border-radius:900px; background:var(--line2); color:var(--muted); }
.ix-art__tab.on .pill{ background:var(--mint); color:var(--green-deep); }
.ix-art__assistant{ margin-left:auto; align-self:center; display:inline-flex; align-items:center; gap:7px; height:32px; padding:0 15px; border-radius:900px; border:none; background:var(--ink); color:#fff; font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; transition:background 120ms; }
.ix-art__assistant:hover{ background:#222; }
.ix-art__assistant-ic{ font-size:12px; line-height:1; }

.ix-art__scroll{ flex:1; min-height:0; min-width:0; overflow-y:auto; overflow-x:hidden; padding:18px 26px 80px; transition:opacity 300ms ease, filter 300ms ease; }
.ix-art__scroll--muted{ opacity:.22; filter:saturate(.35) blur(1.2px); pointer-events:none; user-select:none; }

/* guiding cue overlaid on the toned-down brief while sharpening */
.ix-briefcue{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:0 28px; pointer-events:none; animation:ixfade 300ms ease backwards; }
.ix-briefcue__card{ display:flex; flex-direction:column; align-items:center; text-align:center; max-width:320px; gap:9px; }
.ix-briefcue__icon{ position:relative; width:46px; height:46px; border-radius:900px; background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px -8px rgba(43,100,24,.6); }
.ix-briefcue__ping{ position:absolute; inset:0; border-radius:900px; border:2px solid var(--green); animation:ixping 1.8s cubic-bezier(0,0,.2,1) infinite; }
.ix-briefcue__h{ font-family:'PP Telegraf'; font-size:16px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin-top:4px; }
.ix-briefcue__dots span{ animation:ixdot 1.4s infinite; }
.ix-briefcue__dots span:nth-child(2){ animation-delay:.2s; }
.ix-briefcue__dots span:nth-child(3){ animation-delay:.4s; }
@keyframes ixdot{ 0%,60%,100%{ opacity:.2; } 30%{ opacity:1; } }
.ix-briefcue__s{ font-size:13px; line-height:1.5; color:var(--muted); }
.ix-briefcue__arrowic{ }
@keyframes ixping{ 0%{ transform:scale(1); opacity:.7; } 70%{ transform:scale(1.55); opacity:0; } 100%{ opacity:0; } }
@keyframes ixnudge{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(8px); } }
@keyframes ixfade{ from{ opacity:0; } to{ opacity:1; } }

/* section nav rail (left mini list within Context tab) */
.ix-ctx{ display:grid; grid-template-columns:200px 1fr; gap:22px; }
.ix-rail{ display:flex; flex-direction:column; gap:3px; position:sticky; top:0; align-self:start; }
.ix-rail__item{ display:flex; align-items:center; gap:9px; padding:8px 10px; border-radius:9px; border:none; background:transparent; cursor:pointer; font-family:inherit; text-align:left; width:100%; }
.ix-rail__item:hover{ background:var(--line2); }
.ix-rail__item.on{ background:var(--paper); box-shadow:inset 0 0 0 1px var(--line); }
.ix-rail__num{ font-size:10px; font-weight:700; color:var(--faint); width:16px; flex:none; }
.ix-rail__t{ font-size:12.5px; font-weight:600; color:var(--ink); flex:1; min-width:0; }
.ix-rail__st{ width:8px;height:8px;border-radius:50%; flex:none; }
.st-empty{ background:#dfe6ec; } .st-drafting{ background:#d9a93a; animation:ixpulse 1.2s infinite; }
.st-draft{ background:#d9a93a; } .st-review{ background:#0070eb; } .st-confirmed{ background:var(--green); }

/* section card */
.ix-ctx-stack{ display:flex; flex-direction:column; gap:16px; max-width:800px; margin:0 auto; }
.ix-sec{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:22px 24px; }
.ix-sec__bar{ display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.ix-sec__hr{ height:1px; background:var(--line); margin:0 -24px 18px; }
/* decision-context three-column field grid (year+season+category / milestones+stakeholders+BU) */
.ix-dctx{ display:grid; grid-template-columns:1fr 1fr 1fr; column-gap:28px; row-gap:20px; align-items:start; }
@media (max-width:960px){ .ix-dctx{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .ix-dctx{ grid-template-columns:1fr; } }
.ix-dctx .ix-msel, .ix-dctx .ix-msel__field{ width:100%; }
.ix-flabel{ font-size:13px; font-weight:400; color:var(--ink); line-height:1.4; }
.ix-msel__field--edit{ display:flex; align-items:center; gap:8px; }
.ix-msel__otherinput{ flex:1 1 auto; min-width:0; border:none; background:transparent; outline:none; font-family:inherit; font-size:13px; color:var(--ink); padding:0; }
.ix-msel__x{ flex:none; display:flex; align-items:center; justify-content:center; background:transparent; border:none; color:var(--muted); cursor:pointer; padding:0; }
.ix-msel__x:hover{ color:var(--ink); }
.ix-optrow--other{ border-top:1px solid var(--line2); }
.ix-optrow--other .ix-optrow__t{ color:var(--green-deep); }
.ix-sec__num{ display:none; }
.ix-sec__h{ font-family:'PP Telegraf'; font-weight:700; font-size:17px; color:var(--ink); display:inline-flex; align-items:center; gap:6px; }
.ix-sec__hint{ position:relative; display:inline-flex; color:var(--faint); cursor:help; }
.ix-sec__hint::after{ content:attr(data-tip); position:absolute; top:calc(100% + 8px); left:0; z-index:10; width:max-content; max-width:220px; padding:6px 10px; border-radius:6px; background:var(--ink); color:#fff; font-size:12px; font-weight:600; white-space:normal; opacity:0; visibility:hidden; transition:opacity 120ms; pointer-events:none; }
.ix-sec__hint:hover::after,.ix-sec__hint:focus-visible::after{ opacity:1; visibility:visible; }
.ix-sec__desc{ margin:-8px 0 16px; font-size:13px; line-height:1.5; color:var(--muted); }
.ix-sec__desc--top{ margin:0 0 10px; }
.ix-sec__desc--mid{ margin:-4px 0 14px; }
.ix-sec__tag{ margin-left:auto; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); background:var(--line2); border-radius:900px; padding:3px 9px; }
.ix-tag{ display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-weight:700; letter-spacing:.03em; padding:3px 9px; border-radius:900px; }
.ix-tag--ai{ background:#efe7fb; color:#5a2fb0; } .ix-tag--ai .star{ color:#7a4fd0; }
.ix-tag--conf{ background:var(--line2); color:var(--muted); font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.03em; white-space:nowrap; }

/* ---------------- intro hero (full-screen input upfront) ---------------- */
.ix-conv--hero{ border-right:none; background:var(--bg); }
.ix-conv--hero .ix-conv__head{ display:none; }
.ix-conv--hero .ix-log{ padding-left:0; padding-right:0; }
.ix-conv--hero .ix-intro{ width:100%; max-width:800px; margin:0 auto; padding:clamp(24px,20vh,170px) 24px 56px; justify-content:flex-start; }
.ix-conv--hero .ix-intro__h{ font-size:38px; }
.ix-conv--hero .ix-intro__s{ font-size:15px; }
.ix-conv--hero .ix-composer{ max-width:688px; margin:0 auto; width:100%; background:transparent; border-top:none; padding-bottom:34px; }
.ix-conv--hero .ix-composer__box{ border-radius:16px; padding:14px 16px; box-shadow:0 6px 24px rgba(4,12,21,.06); }
.ix-conv--hero .ix-composer textarea{ font-size:16px; min-height:94px; }

/* composer moved inline, directly under the hero headline */
.ix-intro__composer{ position:relative; z-index:1; width:100%; }
.ix-conv--hero .ix-intro__composer .ix-composer{ padding:0; margin:0; max-width:none; }

/* use-case pills — sit between the hero headline and the composer; picking one
   loads that use case's starting brief into the box */
.ix-ucrow{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:4px 0 8px; }
.ix-ucpill{ display:inline-flex; align-items:center; gap:7px; height:32px; padding:0 14px 0 12px; border-radius:900px; border:1px solid var(--line);
  background:var(--paper); font-family:inherit; font-size:13px; font-weight:600; color:var(--ink); cursor:pointer; white-space:nowrap;
  transition:background 120ms ease, border-color 120ms ease; }
.ix-ucpill:hover{ background:#eef2f6; border-color:#eef2f6; }
.ix-ucpill.on{ background:#e2e8f0; border-color:#e2e8f0; }
.ix-ucicon{ flex:none; color:var(--ink); }

/* overflow — the rest of the use cases, behind a borderless kebab */
.ix-ucmorewrap{ position:relative; display:inline-flex; }
.ix-ucmore{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border:none; background:transparent;
  border-radius:6px; color:var(--faint); cursor:pointer; padding:0; transition:background 120ms ease, color 120ms ease; }
.ix-ucmore:hover, .ix-ucmore.on{ background:#eef2f6; color:var(--ink); }
/* kebab hover is a rounded square, with a black design-system tooltip */
.ix-ucmore{ border-radius:6px; }
.ix-uctip{ position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%); z-index:44; pointer-events:none;
  background:var(--ink); color:#fff; font-size:12px; font-weight:600; padding:6px 10px; border-radius:6px; white-space:nowrap; }
.ix-uctip::after{ content:""; position:absolute; top:-10px; left:50%; transform:translateX(-50%); border:5px solid transparent; border-bottom-color:var(--ink); }
.ix-ucmenu{ position:absolute; top:calc(100% + 6px); right:-6px; z-index:42; min-width:224px; background:var(--paper); border:1px solid var(--line);
  border-radius:12px; box-shadow:var(--shadow); padding:6px; display:flex; flex-direction:column; }
.ix-ucmenu__i{ display:flex; align-items:center; gap:9px; width:100%; text-align:left; border:none; background:transparent; border-radius:8px; padding:8px 10px;
  font-family:inherit; font-size:13px; font-weight:600; color:var(--ink); cursor:pointer; }
.ix-ucmenu__i:hover{ background:#eef2f6; }
.ix-ucmenu__i.on{ background:#e2e8f0; }
.ix-ucmenu__i.on:hover{ background:#dae1eb; }

/* Audience tray — tucked under the composer card so the two read as one control:
   what you're asking, and who you're asking. */
/* The input keeps its own complete card — full radius, its own shadow, and a full
   green outline on focus. The tray slides in behind it: square top corners, white,
   tucked past the column's 14px row gap. */
.ix-atray{ position:relative; z-index:0; margin:calc(-14px - 20px) 0 0; padding:32px 16px 15px; border-radius:0 0 16px 16px; background:var(--paper); }
.ix-atray__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 11px; }
.ix-atray__h{ display:inline-flex; align-items:center; gap:6px; margin:0; padding:0; border:0; background:none; font-family:inherit; font-size:12.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.ix-atray__h:hover{ color:var(--green-deep); }
.ix-atray__body{ animation:ixrise 180ms ease backwards; }
.ix-atray__sec{ margin-bottom:12px; }
.ix-atray__cat{ font-size:12px; font-weight:600; color:var(--ink); margin:0 0 7px; }
.ix-atray__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ix-atray__more{ display:inline-flex; flex:none; align-items:center; gap:5px; padding:0; border:0; background:none; font-family:inherit; font-size:12.5px; font-weight:600; color:var(--green-deep); cursor:pointer; }
.ix-atray__more:hover{ text-decoration:underline; }
.ix-atile{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:10px 11px 11px; border:1px solid var(--line); border-radius:12px; background:var(--paper); font-family:inherit; text-align:left; cursor:pointer; transition:border-color 120ms, background 120ms; }
.ix-atile:hover:not(:disabled){ border-color:#c6d3de; }
.ix-atile:disabled{ opacity:.42; cursor:default; }
.ix-atile.is-on{ border-color:var(--green); background:var(--mint); }
.ix-atile__mark{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; margin-bottom:6px; border-radius:7px; color:#fff; font-size:8.5px; font-weight:700; }
.ix-atile__n{ font-size:12.5px; font-weight:600; line-height:1.3; color:var(--ink); text-wrap:pretty; }
.ix-atile__c{ font-size:11px; color:var(--muted); }
.ix-atile.is-on .ix-atile__c{ color:var(--green-deep); }

/* intro example chips */
.ix-intro__exlabel{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); margin:6px 0 10px; }
.ix-intro__ex{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; animation:ixrise 180ms ease backwards; }
.ix-intro__extoggle{ display:inline-flex; align-items:center; gap:7px; border:none; background:transparent; padding:0; margin:6px 0 10px; cursor:pointer; font-family:inherit; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); transition:color 120ms; }
.ix-intro__extoggle:hover{ color:var(--ink); }
.ix-intro__extoggle svg{ transition:transform 140ms ease; }
.ix-intro__extoggle.on{ color:var(--ink); }
.ix-intro__extoggle.on svg{ transform:rotate(180deg); }
.ix-exchip{ display:flex; flex-direction:column; gap:3px; text-align:left; border:1px solid var(--line); background:var(--paper); border-radius:11px; padding:9px 13px; cursor:pointer; font-family:inherit; transition:border-color 120ms, box-shadow 120ms; }
.ix-exchip:hover{ border-color:var(--green); box-shadow:0 2px 10px rgba(58,133,24,.10); }
.ix-exchip__kind{ font-size:9.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-deep); }
.ix-exchip__label{ font-size:13px; font-weight:400; color:var(--ink); }
.ix-exchip__title{ font-size:13.5px; font-weight:700; color:var(--ink); }
.ix-exchip__desc{ font-size:12px; font-weight:400; line-height:1.4; color:var(--muted); }

/* duplicate a favorite — saved studies, replayed whole */
.ix-favlist{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:10px; background:var(--paper); overflow:hidden; margin-bottom:9px; }.ix-favrow{ display:flex; align-items:center; gap:9px; text-align:left; width:100%; border:none; border-bottom:1px solid var(--line); background:transparent; padding:9px 13px; cursor:pointer; font-family:inherit; transition:background 110ms; }
.ix-favrow:last-child{ border-bottom:none; }
.ix-favrow:hover{ background:var(--mint); }
.ix-favrow:hover .ix-favrow__star{ color:#c98f1f; }
.ix-favrow:hover .ix-favrow__t{ color:var(--green-deep); }
.ix-favrow__star{ display:flex; color:#d69d2b; flex:none; }
.ix-favrow__t{ font-size:13px; font-weight:700; color:var(--ink); flex:none; }
.ix-favrow__m{ font-size:12.5px; color:var(--muted); flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ix-favrow__m::before{ content:"· "; }
.ix-favrow__go{ flex:none; display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:600; color:var(--green-deep); opacity:0; transform:translateX(-4px); transition:opacity 110ms, transform 110ms; }
.ix-favrow:hover .ix-favrow__go{ opacity:1; transform:none; }
.ix-favmore{ display:flex; width:fit-content; margin:0 0 20px auto; align-items:center; gap:6px; border:none; background:transparent; padding:0; cursor:pointer; font-family:inherit; font-size:12.5px; font-weight:600; color:var(--faint); transition:color 110ms, gap 110ms; }
.ix-favmore:hover{ color:var(--green-deep); gap:9px; }
.ix-favpage__row:hover{ background:var(--mint); }
.ix-favpage__row:hover .ix-favpage__star{ color:#c98f1f !important; }
.ix-favpage__row:hover .ix-favpage__t{ color:var(--green-deep) !important; }
.ix-favpage__row:hover .ix-favrow__go{ opacity:1; transform:none; }

/* build-it-yourself entry (blank brief) */
.ix-intro__blank{ display:none; flex-direction:column; align-items:flex-start; gap:10px; margin-top:22px; font-size:13px; color:var(--muted); }
.ix-intro__blankbtn{ display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:900px; padding:8px 15px; font-size:12.5px; font-weight:600; cursor:pointer; font-family:inherit; transition:border-color 120ms, box-shadow 120ms; }
.ix-intro__blankbtn:hover{ border-color:var(--green); color:var(--green-deep); box-shadow:0 2px 10px rgba(58,133,24,.10); }

/* intro synthesizing state (stays centered while AI drafts follow-ups) */
.ix-synthrow{ display:flex; align-items:center; gap:10px; font-size:15px; color:var(--muted); margin-top:6px; }
.ix-synthrow .ix-think span{ background:var(--green); }
.ix-secbtns{ margin-left:auto; display:inline-flex; gap:6px; }
.ix-mini{ border:1px solid var(--line); background:var(--paper); border-radius:8px; padding:5px 11px; font-size:11.5px; font-weight:600; color:var(--ink); cursor:pointer; font-family:inherit; }
.ix-mini:hover{ background:var(--line2); }
.ix-mini--p{ background:var(--green); color:#fff; border-color:var(--green); }
.ix-mini--p:hover{ background:var(--green-deep); }

.ix-kv{ width:100%; border-collapse:collapse; }
.ix-kv td{ padding:8px 0; border-bottom:1px solid var(--line2); font-size:13.5px; vertical-align:top; }
.ix-kv tr:last-child td{ border-bottom:none; }
.ix-kv .k{ width:170px; color:var(--muted); font-weight:600; }
.ix-prose{ font-size:13.5px; line-height:1.6; color:var(--ink); }
.ix-goals{ counter-reset:g; list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.ix-goals li{ counter-increment:g; position:relative; padding-left:34px; font-size:13.5px; line-height:1.5; color:var(--ink); }
.ix-goals li::before{ display:none; }
.ix-goals li{ border-radius:8px; }
.ix-goal.dragging{ opacity:.45; }
.ix-goal.dragover{ box-shadow:inset 0 2px 0 var(--ink); }
.ix-goal__handle{ position:absolute; left:0; top:-1px; width:22px; height:22px; display:flex; align-items:center; justify-content:center; border-radius:6px; background:var(--ink); color:#fff; font-size:11px; font-weight:700; cursor:grab; }
.ix-goal__handle:active{ cursor:grabbing; }
.ix-goal__grip{ display:none; }
.ix-goal:hover .ix-goal__num{ display:none; }
.ix-goal:hover .ix-goal__grip{ display:block; }
.ix-gospel{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; font-size:11px; font-weight:700; color:var(--green-deep); background:var(--mint); border:1px solid var(--mint-line); padding:4px 12px; border-radius:900px; margin-bottom:14px; }

/* research method callout (set by the timeline follow-up) */
.ix-method{ border:1px solid var(--line); border-radius:12px; padding:13px 15px; margin-bottom:16px; background:#fbfdff; }
.ix-method--synthetic{ border-color:#e7c98f; background:linear-gradient(180deg,#fff9ec,#fef4dc); }
.ix-method__top{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.ix-method__ic{ width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:13px; background:var(--line2); }
.ix-method--synthetic .ix-method__ic{ background:#f4dca0; }
.ix-method__mode{ font-family:'PP Telegraf'; font-weight:700; font-size:14px; color:var(--ink); }
.ix-method--synthetic .ix-method__mode{ color:#8a5800; }
.ix-method__tl{ margin-left:auto; font-size:11.5px; font-weight:600; color:var(--muted); font-variant-numeric:tabular-nums; }
.ix-method__why{ font-size:12.5px; line-height:1.5; color:var(--muted); margin-top:7px; }
.ix-method--synthetic .ix-method__why{ color:#8a6d2f; }

/* standalone method & timeline section (top of the stacked brief) */
/* approach + credit usage share one container, matching the modal card */
.ix-approach{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:22px 24px; }
.ix-approach .ix-credit{ margin-top:20px; padding:20px 0 0; border:none; border-top:1px solid var(--line); border-radius:0; background:transparent; }
.ix-methsec{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:22px 24px; }
.ix-methsec__chips{ margin-top:16px; }
.ix-methsec--synthetic{ border-color:var(--line); background:var(--paper); }
.ix-methsec__row{ display:flex; align-items:center; gap:10px; }
.ix-methsec__ic{ width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:15px; background:var(--line2); }
.ix-methsec--synthetic .ix-methsec__ic{ background:#dcefcd; }
.ix-methsec__mode{ font-family:'PP Telegraf'; font-weight:700; font-size:20px; letter-spacing:-.01em; color:var(--ink); }
.ix-methsec--synthetic .ix-methsec__mode{ color:var(--ink); }
.ix-methsec__tll{ font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); margin:16px 0 8px; }
.ix-methsec--synthetic .ix-methsec__tll{ color:var(--green-deep); }
.ix-methsec__chips{ display:flex; flex-wrap:wrap; gap:7px; }.ix-methsec__chip{ display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:900px; border:1px solid var(--line); background:var(--paper); font-size:12.5px; font-weight:500; color:var(--faint); }
.ix-methsec__chip.on{ border-color:var(--green); background:var(--mint); color:var(--green-deep); font-weight:700; }
.ix-methsec--synthetic .ix-methsec__chip.on{ border-color:var(--green); background:var(--mint); color:var(--green-deep); }
.ix-methsec__why{ font-size:13.5px; line-height:1.6; color:var(--muted); margin-top:10px; }
.ix-methsec--synthetic .ix-methsec__why{ color:var(--muted); }

/* credit usage — ledger + the two levers that move it */
.ix-credit{ margin-top:14px; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.ix-credit__hd{ display:none; }
.ix-credit__ey{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); margin-bottom:14px; }
.ix-pool{ border-top:1px solid var(--line); padding-top:14px; margin-top:18px; }
.ix-pool__row{ display:flex; align-items:baseline; gap:12px; }
.ix-pool__k{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.ix-pool__note{ margin-top:6px; font-size:12.5px; line-height:1.5; color:var(--muted); }
.ix-pool__note b{ color:var(--ink); font-weight:700; }
.ix-pool__n{ font-family:'PP Telegraf'; font-size:16px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
.ix-credit__grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:26px; align-items:start; }
.ix-credit__levers{ border-left:1px solid var(--line); padding-left:26px; display:flex; flex-direction:column; gap:8px; justify-content:center; }
.ix-led__row{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; font-size:12.5px; color:var(--ink); padding:4px 0; }
.ix-led__row b{ font-family:'PP Telegraf'; font-weight:700; font-variant-numeric:tabular-nums; }
.ix-led__row--twin{ color:var(--green-deep); font-weight:600; }
.ix-led__row--base{ color:var(--muted); border-top:1px solid var(--line); margin-top:8px; padding-top:12px; }
.ix-credit__ledger{ min-width:0; }
.ix-led__tot{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.ix-led__save{ margin-left:auto; }
.ix-led__num{ font-family:'PP Telegraf'; font-size:24px; font-weight:700; letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums; }
.ix-led__save{ font-size:12px; font-weight:700; color:var(--green-deep); background:var(--mint); border-radius:900px; padding:6px 12px; }
.ix-led__over{ margin-top:10px; font-size:12px; font-weight:600; color:#8c5800; }
.ix-lever__row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
.ix-lever__k{ font-size:13px; font-weight:700; color:var(--ink); }
.ix-lever__v{ font-family:'PP Telegraf'; font-size:14px; font-weight:700; color:var(--green-deep); font-variant-numeric:tabular-nums; }
.ix-lever__note{ margin-top:8px; font-size:11.5px; line-height:1.45; color:var(--faint); }
.ix-lever__note--warn{ color:#8c5800; }

/* hypothesis cards */
.ix-hyps{ display:flex; flex-direction:column; gap:10px; }
.ix-hyp{ border:1px solid var(--line); border-radius:11px; padding:13px 15px; }
.ix-hyp--headline{ border-color:var(--mint-line); background:var(--mint); }
.ix-hyp__top{ display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.ix-hyp__id{ font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; font-weight:700; color:var(--muted); }
.ix-hyp__pri{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:2px 8px; border-radius:900px; }
.pri-headline{ background:var(--green); color:#fff; } .pri-core{ background:#dbe9fa; color:#0a4a8f; } .pri-supporting{ background:var(--line2); color:var(--muted); }
.ix-hyp__t{ font-size:13.5px; line-height:1.5; color:var(--ink); }
.ix-hyp__q{ font-size:11.5px; color:var(--muted); margin-top:7px; }
.ix-hyp__q b{ color:var(--ink); font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; }
.ix-sens{ display:flex; flex-direction:column; gap:7px; }
.ix-sens__r{ display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; color:var(--ink); padding:9px 12px; border-radius:9px; background:#fbfdff; border:1px solid var(--line2); }
.ix-sens__p{ flex:none; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:2px 8px; border-radius:900px; background:var(--line2); color:var(--muted); margin-top:1px; }

/* cuts */
.ix-cutgrp{ margin-bottom:16px; }
.ix-cutgrp__l{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:8px; }
.ix-cutgrp__l--lg{ font-family:'PP Telegraf'; font-size:15px; font-weight:600; text-transform:none; letter-spacing:-0.01em; color:var(--ink); }
.ix-cuts{ display:flex; flex-wrap:wrap; gap:7px; }
.ix-cut{ font-size:12.5px; font-weight:600; padding:5px 12px; border-radius:900px; border:1px solid var(--line); background:var(--paper); color:var(--ink); }
.ix-cut--star{ border-color:var(--green); background:var(--mint); color:var(--green-deep); }

/* consumer attributes — selectable value groups */
.ix-attrs{ display:flex; flex-direction:column; gap:20px; }
.ix-attr-div{ height:1px; background:var(--line); margin:22px -24px; }
.ix-attr-addwrap{ position:relative; margin-top:16px; }
.ix-attr-add{ display:inline-flex; align-items:center; gap:7px; border:1px solid #c3d3df; background:#fbfdff; color:var(--green-deep); border-radius:9px; padding:8px 14px; font-size:12.5px; font-weight:600; cursor:pointer; font-family:inherit; }
.ix-attr-add:hover{ border-color:var(--green); background:var(--mint); }
.ix-attr-addmenu{ position:absolute; top:calc(100% + 6px); left:0; z-index:21; width:290px; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:6px; animation:ixpop 140ms cubic-bezier(.2,0,0,1); }
.ix-attr-addmenu__i{ display:block; width:100%; text-align:left; border:none; background:transparent; border-radius:8px; padding:9px 10px; font-family:inherit; font-size:13px; font-weight:600; color:var(--ink); cursor:pointer; }
.ix-attr-addmenu__i:hover{ background:var(--line2); }
.ix-attr-addmenu__empty{ padding:9px 10px; font-size:12px; color:var(--muted); }
.ix-attr__head{ display:flex; align-items:baseline; gap:9px; }
.ix-attr__name{ font-size:13px; font-weight:400; color:var(--ink); letter-spacing:0; }
.ix-attr__type{ font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10.5px; font-weight:600; letter-spacing:.08em; color:var(--faint); }
.ix-attr__off{ font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--amber-tx); background:var(--amber); padding:2px 8px; border-radius:900px; align-self:center; }
.ix-attr__note{ font-size:12px; color:var(--muted); margin-top:3px; }
.ix-attr__opts{ display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; }
.ix-attr__opt{ display:inline-flex; align-items:center; gap:8px; min-height:34px; padding:0 13px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--ink); font-family:inherit; font-size:13px; font-weight:500; cursor:pointer; transition:border-color 120ms, box-shadow 120ms; }
.ix-attr__opt:hover{ border-color:#c3ccd6; }
.ix-attr__opt.on{ border-color:var(--ink); box-shadow:0 1px 2px rgba(4,12,21,.06); }
.ix-attr__box{ flex:none; width:16px; height:16px; border-radius:4px; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center; }
.ix-attr__lbl{ line-height:1; }

/* consumer attribute — multi-select combobox with chips */
.ix-msel{ position:relative; margin-top:9px; }
.ix-msel__row{ display:flex; align-items:stretch; gap:8px; }
.ix-msel__del{ flex:none; display:flex; align-items:center; justify-content:center; width:44px; border:none; border-radius:10px; background:transparent; color:var(--ink); cursor:pointer; transition:background .12s; }
.ix-msel__del:hover{ background:var(--line2); }
.ix-msel__field{ display:flex; align-items:center; gap:9px; flex:1; min-width:0; min-height:44px; padding:6px 10px 6px 12px; border:1px solid var(--line); border-radius:10px; background:var(--paper); cursor:pointer; font-family:inherit; text-align:left; transition:border-color .12s, box-shadow .12s; }
.ix-msel__field:hover{ border-color:#c3ccd6; }
.ix-msel__field.open{ border-color:var(--ink); box-shadow:0 1px 2px rgba(4,12,21,.06); }
.ix-msel__chips{ flex:1; min-width:0; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.ix-msel__ph{ color:var(--muted); font-size:13px; }
.ix-msel__chip{ display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 6px 0 10px; background:var(--line2); border-radius:8px; font-size:13px; font-weight:400; color:var(--ink); }
.ix-msel__chipx{ display:flex; align-items:center; justify-content:center; width:17px; height:17px; border-radius:5px; color:var(--muted); cursor:pointer; }
.ix-msel__chipx:hover{ background:rgba(4,12,21,.08); color:var(--ink); }
.ix-msel__caret{ flex:none; display:flex; color:var(--muted); margin-left:2px; }
.ix-msel__menu{ position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:21; max-height:264px; overflow:auto; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:6px; }
.ix-msel__opt{ display:flex; align-items:center; gap:9px; width:100%; text-align:left; border:none; background:transparent; border-radius:8px; padding:8px 9px; font-family:inherit; font-size:13px; font-weight:500; color:var(--ink); cursor:pointer; }
.ix-msel__opt:hover{ background:var(--line2); }
.ix-msel__opt.on{ font-weight:600; }
.ix-msel__box{ flex:none; width:17px; height:17px; border-radius:5px; border:1.5px solid var(--line); background:var(--paper); display:flex; align-items:center; justify-content:center; color:#fff; }
.ix-msel__opt.on .ix-msel__box{ background:var(--green); border-color:var(--green); }
.ix-msel__optlbl{ line-height:1.2; }
.ix-msel__searchwrap{ position:sticky; top:0; z-index:2; background:var(--paper); padding-bottom:6px; margin-bottom:2px; }
.ix-msel__search{ display:block; width:100%; box-sizing:border-box; padding:8px 11px; border:1px solid var(--line); border-radius:8px; background:var(--paper); font-family:inherit; font-size:13px; color:var(--ink); }
.ix-msel__search:focus{ outline:none; border-color:var(--green); }
.ix-msel__search::placeholder{ color:var(--muted); }
.ix-msel__empty{ padding:9px 10px; font-size:12.5px; color:var(--muted); }

/* two-zone consumer attributes — screener vs. critical filters (brand green) */
.ix-shrow{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }
.ix-shrow__l{ display:flex; align-items:center; gap:9px; min-width:0; }
.ix-inlabel{ flex:none; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); background:var(--line2); border-radius:900px; padding:3px 9px; }
.ix-shrow .ix-cutgrp__l{ margin:0; }
.ix-addwrap-inline{ position:relative; }
.ix-addlink{ display:inline-flex; align-items:center; gap:5px; border:none; background:transparent; color:var(--green-deep); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; padding:2px; }
.ix-addlink:hover{ color:var(--green); }
.ix-attr-addmenu--right{ left:auto; right:0; }
.ix-zonelbl{ display:inline-flex; align-items:center; gap:8px; }
.ix-zonelbl svg{ color:var(--green); }
.ix-zlist{ display:flex; flex-direction:column; }
.ix-zbody--empty{ padding:8px 0 2px; color:var(--faint); font-size:12.5px; }
.ix-zitem{ padding:11px 0; }
.ix-zitem:first-child{ padding-top:4px; }
.ix-zitem.dragging{ opacity:.5; }
.ix-zitem.dragover{ box-shadow:inset 0 2px 0 var(--green); }
.ix-zitem__head{ display:flex; align-items:center; gap:5px; }
.ix-zitem__grip{ flex:none; display:flex; align-items:center; color:var(--faint); cursor:grab; opacity:0; transition:opacity .12s; }
.ix-zitem:hover .ix-zitem__grip{ opacity:1; }
.ix-zitem__grip:active{ cursor:grabbing; }
.ix-zitem__del{ flex:none; display:flex; align-items:center; justify-content:center; width:26px; height:26px; border:none; background:transparent; color:var(--ink); border-radius:8px; cursor:pointer; opacity:0; transition:background .12s, color .12s, opacity .12s; }
.ix-zitem:hover .ix-zitem__del{ opacity:1; }
.ix-zitem__del:hover{ background:var(--line2); color:var(--fg-danger, #c0362c); }
.ix-zitem__name{ font-size:13.5px; font-weight:600; color:var(--ink); }
/* Questions the twins can't answer, flagged where the question is named. */
.ix-hp{ display:inline-flex; align-items:center; gap:4px; flex:none; height:20px; padding:0 8px 0 6px; border-radius:900px; background:var(--amber); color:var(--amber-tx); font-size:10.5px; font-weight:600; letter-spacing:.01em; white-space:nowrap; cursor:help; }
.ix-hpnote{ margin:0 0 14px; padding:11px 13px; border-radius:11px; background:var(--amber); font-size:12px; line-height:1.55; color:var(--amber-tx); text-wrap:pretty; }
.ix-hpnote b{ font-weight:700; }
.ix-hpnote.is-clear{ border-color:var(--mint-line); background:var(--mint); color:var(--green-deep); }
.ix-zitem__edit{ margin-top:5px; margin-left:19px; }
.ix-zitem__vals{ margin-top:6px; margin-left:19px; display:flex; flex-wrap:wrap; gap:6px; }
.ix-minichip{ display:inline-flex; align-items:center; height:27px; padding:0 10px; border-radius:8px; font-size:13px; font-weight:400; background:var(--line2); color:var(--ink); }

/* story map tiers */
.ix-tier{ border:1px solid var(--line); border-radius:11px; padding:12px 14px; margin-bottom:9px; }
.ix-tier__l{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:8px; }
.ix-tier__c{ display:flex; flex-wrap:wrap; gap:6px; }
.ix-tier__c span{ font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:7px; background:var(--line2); color:var(--ink); }
.ix-tier--1{ border-color:var(--mint-line); } .ix-tier--1 .ix-tier__c span{ background:var(--mint); color:var(--green-deep); }

/* open questions */
.ix-oq{ border:1px solid var(--line); border-radius:11px; padding:13px 15px; margin-bottom:9px; }
.ix-oq__q{ font-size:13.5px; font-weight:600; color:var(--ink); margin-bottom:8px; }
.ix-oq__d{ display:flex; gap:8px; font-size:12.5px; color:var(--ink); background:#fbfdff; border:1px solid var(--line2); border-radius:8px; padding:9px 11px; line-height:1.5; }
.ix-oq__dl{ flex:none; font-weight:700; color:#5a2fb0; }
.ix-oq__act{ display:flex; gap:6px; margin-top:9px; }

/* ---------------- Product table ---------------- */
.ix-ptbl-wrap{ background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.ix-ptbl-head{ display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); }
.ix-ptbl-head__t{ font-family:'PP Telegraf'; font-weight:700; font-size:15px; color:var(--ink); }
.ix-ptbl-head__m{ font-size:12px; color:var(--muted); }
.ix-ptbl{ width:100%; border-collapse:collapse; font-size:13px; }
.ix-ptbl thead th{ text-align:left; padding:9px 14px; background:#fafcfe; border-bottom:1px solid var(--line);
  font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); white-space:nowrap; }
.ix-ptbl tbody td{ padding:9px 14px; border-bottom:1px solid var(--line2); color:var(--ink); vertical-align:middle; }
.ix-ptbl tbody tr:last-child td{ border-bottom:none; }
.ix-ptbl tbody tr:hover{ background:#fbfdff; }
.ix-pthumb{ width:44px;height:44px; border-radius:8px; background:#f1f4f7; object-fit:contain; display:block; }
.ix-pthumb--ph{ display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:var(--faint); }
.ix-pname{ font-weight:600; }
.ix-pmat{ font-size:11.5px; font-weight:600; padding:2px 8px; border-radius:900px; background:var(--line2); color:var(--muted); }
.ix-pcat{ font-size:11.5px; color:var(--muted); }
.ix-ptbl-foot{ display:flex; align-items:center; gap:10px; padding:11px 18px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }

/* ---------------- Script ---------------- */
.ix-scr{ display:flex; flex-direction:column; gap:16px; }
.ix-scrsec{ background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.ix-scrsec__h{ display:flex; align-items:center; gap:10px; padding:13px 18px; background:#fafcfe; border-bottom:1px solid var(--line); }
.ix-scrsec__t{ font-family:'PP Telegraf'; font-weight:700; font-size:14px; color:var(--ink); }
.ix-scrsec__n{ font-size:11.5px; color:var(--muted); }
.ix-q{ padding:14px 18px; border-bottom:1px solid var(--line2); }
.ix-q:last-child{ border-bottom:none; }
.ix-q__top{ display:flex; align-items:center; gap:9px; margin-bottom:7px; }
.ix-q__id{ font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; font-weight:700; color:#fff; background:var(--ink); padding:2px 8px; border-radius:6px; }
.ix-q__type{ font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); background:var(--line2); padding:2px 8px; border-radius:900px; }
.ix-q__t{ font-size:14px; font-weight:600; color:var(--ink); line-height:1.45; margin-bottom:9px; }
.ix-q__opts{ display:flex; flex-wrap:wrap; gap:6px; }
.ix-q__opt{ font-size:12.5px; color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:5px 11px; background:#fbfdff; }

/* ---------------- skeletons + empties ---------------- */
.ix-skel{ border-radius:8px; background:linear-gradient(90deg,#eef2f6 25%,#f6f9fc 37%,#eef2f6 63%); background-size:400% 100%; animation:ixshimmer 1.3s ease infinite; }
.ix-skel--field{ height:42px; border-radius:10px; }
/* inline intake (concept #4) — questions docked in the section they fill */
.ix-inqs{ display:flex; flex-direction:column; gap:10px; margin-bottom:18px; padding:13px 15px 15px; background:#f1f8ec; border:1px solid #d9ebcc; border-radius:12px; }
.ix-inqs__lead{ font-size:12.5px; color:#3a6b1f; display:flex; align-items:center; gap:8px; font-weight:600; }
.ix-inqs__ey{ font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#2b6418; background:#dcecd0; border-radius:900px; padding:3px 8px; }
.ix-inq{ background:#fff; border:1px solid #e4efd9; border-radius:10px; padding:11px 13px; }
.ix-inq.is-done{ border-color:#cfe6bf; }
.ix-inq__q{ font-size:13.5px; font-weight:600; color:var(--ink); line-height:1.4; display:flex; gap:8px; align-items:flex-start; }
.ix-inq__mk{ flex:none; width:18px; height:18px; border-radius:900px; background:#e7f2dd; color:#2b6418; display:flex; align-items:center; justify-content:center; font-size:10px; margin-top:1px; }
.ix-inq.is-done .ix-inq__mk{ background:var(--green); color:#fff; }
.ix-inq__hint{ font-size:11.5px; color:var(--muted); margin:4px 0 0 26px; }
.ix-inq .ix-fq__chips{ margin-top:10px; padding-left:26px; }
.ix-inq .ix-fq__free{ margin-top:8px; padding-left:26px; }
.ix-inq .ix-fq__answer{ margin-left:26px; }
/* sticky continue bar */
.ix-inbar{ flex:none; display:flex; align-items:center; gap:12px; padding:12px 26px; border-top:1px solid var(--line); background:#fff; }
.ix-inbar__prog{ font-size:13px; color:var(--ink); font-weight:600; display:flex; align-items:center; gap:8px; }
.ix-inbar__ic{ width:22px; height:22px; border-radius:900px; background:#e7f2dd; color:#2b6418; display:flex; align-items:center; justify-content:center; font-size:12px; flex:none; }
.ix-inbar__hint{ font-weight:400; color:var(--muted); }
.ix-inbar__acts{ margin-left:auto; display:flex; gap:8px; }
/* spotlight: while a follow-up is asked, lift the section it fills and dim the rest */
.ix-spotwrap{ transition:opacity 240ms ease, filter 240ms ease; }
.ix-spotwrap.is-dim{ opacity:.32; filter:saturate(.5); }
.ix-spotwrap.is-spot .ix-sec{ box-shadow:0 0 0 2px var(--green), 0 16px 36px -16px rgba(43,100,24,.45); }
.ix-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 30px; color:var(--muted); }
.ix-empty__ic{ width:54px;height:54px;border-radius:14px; background:var(--paper); border:1px solid var(--line); display:flex;align-items:center;justify-content:center; color:var(--faint); margin-bottom:14px; }
.ix-empty__t{ font-family:'PP Telegraf'; font-weight:700; font-size:15px; color:var(--ink); margin-bottom:5px; }
.ix-empty__s{ font-size:13px; max-width:340px; line-height:1.5; }

/* big intro state */
/* Pinned from the top, not centered: the headline and the use-case row hold
   position while the composer grows downward. */
.ix-intro{ flex:1; display:flex; flex-direction:column; justify-content:flex-start; gap:14px; padding:clamp(24px,20vh,170px) 18px 40px; }
.ix-intro__ey{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green); }
.ix-intro__back{ align-self:flex-start; display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:900px; padding:7px 14px; font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; margin-bottom:6px; transition:background 120ms, border-color 120ms; }
.ix-intro__back:hover{ background:var(--line2); border-color:#c3ccd6; }
.ix-intro__h{ font-family:'PP Telegraf'; font-weight:700; font-size:26px; line-height:1.15; letter-spacing:-.01em; color:var(--ink); }
.ix-intro__s{ font-size:14px; line-height:1.55; color:var(--muted); }

/* ---------------- animations ---------------- */
@keyframes ixrise{ from{ transform:translateY(8px);} to{ transform:none; } }
@keyframes ixpop{ from{ transform:translateY(-6px) scale(.98);} to{ transform:none; } }
@keyframes ixshimmer{ 0%{ background-position:100% 0;} 100%{ background-position:-100% 0; } }
@keyframes ixblink{ 0%,80%,100%{ transform:scale(.6); opacity:.4;} 40%{ transform:scale(1); opacity:1; } }
@keyframes ixpulse{ 0%{ box-shadow:0 0 0 0 rgba(58,133,24,.5);} 70%{ box-shadow:0 0 0 6px rgba(58,133,24,0);} 100%{ box-shadow:0 0 0 0 rgba(58,133,24,0);} }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; } }

/* ---------------- inline editing ---------------- */
.ix-edit{ display:inline; outline:none; border-radius:5px; cursor:text; transition:background 120ms, box-shadow 120ms; padding:0 2px; margin:0 -2px; }
.ix-edit:hover{ background:#f1f6ef; box-shadow:inset 0 0 0 1px #dfeed4; }
.ix-edit:focus{ background:#fff; box-shadow:inset 0 0 0 1.5px #3a8518; }
.ix-edit:empty::before{ content:attr(data-ph); color:#b6c0ca; }
.ix-edit--ack{ animation:ixack 1.1s ease; }
@keyframes ixack{ 0%{ box-shadow:inset 0 0 0 1.5px #3a8518; } 100%{ box-shadow:inset 0 0 0 0 transparent; } }

/* edit-note bar under tabs */
.ix-editnote{ flex:none; display:flex; align-items:center; gap:9px; padding:8px 26px; font-size:12px; color:#5a4a78;
  background:#f7f3fd; border-bottom:1px solid #ece4fa; line-height:1.4; }
.ix-editnote strong{ color:#4a2596; font-weight:700; }
.ix-editnote svg{ flex:none; }

/* deck outline rows */
.ix-out{ display:flex; gap:12px; border:1px solid var(--line); border-radius:11px; padding:11px 13px; }
.ix-out--headline{ border-color:var(--mint-line); background:var(--mint); }
.ix-out__num{ font-family:'PP Telegraf',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; font-weight:700; color:var(--faint); flex:none; }
.ix-out__head{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:4px; }
.ix-out__title{ font-size:13.5px; font-weight:700; color:var(--ink); }
.ix-out__tier{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:2px 8px; border-radius:900px; background:var(--line2); color:var(--muted); }
.ix-out__tier--headline{ background:var(--green); color:#fff; } .ix-out__tier--essential{ background:#dbe9fa; color:#0a4a8f; }
.ix-out__slides{ font-size:11.5px; color:var(--faint); }
.ix-out__dir{ font-size:12.5px; line-height:1.5; color:var(--muted); }

/* methodology list */
.ix-notes{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }
.ix-notes li{ position:relative; padding-left:20px; font-size:13.5px; line-height:1.55; color:var(--ink); }
.ix-notes li::before{ content:""; position:absolute; left:4px; top:8px; width:6px; height:6px; border-radius:2px; background:var(--green); }

/* ---------------- resize + collapse ---------------- */
.ix-resizer{ flex:none; width:6px; cursor:col-resize; background:transparent; position:relative; z-index:5; }
.ix-resizer::after{ content:""; position:absolute; inset:0 2px; border-radius:900px; background:var(--line); transition:background 120ms; }
.ix-resizer:hover::after, .ix-resizer.dragging::after{ background:var(--green); }
.ix-conv__tools{ display:flex; align-items:center; gap:6px; margin-left:auto; }
.ix-conv__tool{ width:28px; height:28px; border-radius:8px; border:1px solid var(--line); background:var(--paper); color:var(--muted); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.ix-conv__tool:hover{ background:var(--line2); color:var(--ink); }
.ix-railbar{ flex:none; width:52px; background:var(--paper); border-left:1px solid var(--line); display:flex; flex-direction:column; align-items:center; padding-top:14px; gap:10px; }
.ix-railbar__btn{ width:36px; height:36px; border-radius:10px; border:none; background:var(--ink); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:15px; }
.ix-railbar__btn:hover{ background:#222; }
.ix-railbar__lbl{ writing-mode:vertical-rl; transform:rotate(180deg); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:4px; }

/* ---------------- pending attachments (composer) ---------------- */
.ix-pending{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.ix-pendchip{ display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:#fbfdff; border-radius:9px; padding:5px 8px 5px 6px; font-size:12px; }
.ix-pendchip__ic{ width:22px; height:22px; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:8px; font-weight:700; }
.ix-pendchip__x{ width:16px; height:16px; border:none; background:#e8edf2; color:#636c79; border-radius:5px; cursor:pointer; font-size:11px; line-height:1; display:flex; align-items:center; justify-content:center; }
.ix-attachmenu{ position:absolute; bottom:46px; left:0; z-index:42; width:300px; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:6px; animation:ixpop 140ms cubic-bezier(.2,0,0,1); }
.ix-attachmenu__h{ font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); padding:6px 8px; }
.ix-amrow{ position:relative; }
.ix-amitem{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:9px; cursor:pointer; }
.ix-amitem:hover, .ix-amitem.on{ background:var(--line2); }
.ix-amitem__ic{ width:30px; height:30px; border-radius:8px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--line2); color:var(--ink); }
.ix-amitem__t{ flex:1; min-width:0; font-size:13.5px; font-weight:600; color:var(--ink); }
.ix-amitem__chev{ flex:none; color:var(--faint); }
.ix-amsub{ position:absolute; left:calc(100% + 8px); bottom:0; z-index:43; width:300px; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:6px; animation:ixpop 140ms cubic-bezier(.2,0,0,1); }
.ic-study{ background:#e2efde; color:#2f5f2a; }
/* attach-menu icon badges: uniform gray bg + black icon */
.ix-attachmenu .ix-file__ic, .ix-amsub .ix-file__ic{ background:var(--line2); color:var(--ink); }

/* ---------------- freeform input on follow-ups ---------------- */
.ix-fq__free{ margin-top:8px; display:flex; gap:6px; align-items:center; }
.ix-fq__free input{ flex:1; height:32px; border:1px solid var(--line); border-radius:9px; padding:0 11px; font-family:inherit; font-size:12.5px; color:var(--ink); outline:none; background:var(--paper); }
.ix-fq__free input:focus{ border-color:var(--green); }
.ix-fq__free-go{ height:32px; border:none; background:var(--ink); color:#fff; border-radius:9px; padding:0 12px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; }
.ix-fq__free-go:disabled{ background:#e3e9ef; color:#aab4be; cursor:not-allowed; }
.ix-fq__answer{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--green-deep); background:var(--mint); border:1px solid var(--mint-line); border-radius:8px; padding:4px 10px; margin-top:6px; }

/* ---------------- follow-up view (full-screen, neutral) ---------------- */
.ix-fuview{ flex:1; min-height:0; display:flex; flex-direction:column; }
.ix-fuview__inner{ flex:1; min-height:0; overflow-y:auto; padding:34px 26px 24px; }
.ix-fuview__head{ display:flex; align-items:flex-start; gap:16px; max-width:760px; margin:0 auto 22px; }
.ix-fuview__ey{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green); margin-bottom:7px; }
.ix-fuview__h{ font-family:'PP Telegraf'; font-weight:700; font-size:24px; letter-spacing:-.01em; color:var(--ink); }
.ix-fuview__s{ font-size:14px; color:var(--muted); margin-top:6px; line-height:1.5; }
.ix-fuview__count{ margin-left:auto; flex:none; font-family:'PP Telegraf'; font-weight:700; font-size:22px; color:var(--green-deep); }
.ix-fuview__count span{ color:var(--faint); font-weight:600; font-size:15px; }
.ix-fuview__qs{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.ix-fuq{ border:1px solid var(--line); border-radius:14px; padding:18px 20px; background:var(--paper); }
.ix-fuq__q{ font-size:15.5px; font-weight:600; line-height:1.45; color:var(--ink); margin-bottom:12px; display:flex; gap:11px; }
.ix-fuq__hint{ font-size:12.5px; line-height:1.5; color:var(--muted); margin:-6px 0 12px 35px; }
.ix-fuq__n{ width:24px; height:24px; flex:none; border-radius:50%; background:var(--ink); color:#fff; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.ix-fuq .ix-fq__chips{ padding-left:35px; }
.ix-fuq .ix-chip{ font-weight:400; }
.ix-chip--multi{ display:inline-flex; align-items:center; gap:7px; }
.ix-chip__box{ width:13px; height:13px; border-radius:4px; border:1.5px solid #c2ccd6; flex:none; position:relative; transition:background 120ms, border-color 120ms; }
.ix-chip.on .ix-chip__box{ background:var(--green); border-color:var(--green); }
.ix-chip.on .ix-chip__box::after{ content:""; position:absolute; left:3.5px; top:1px; width:4px; height:7px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.ix-chip--multi.on .ix-chip__box{ background:#fff; border-color:var(--green); }
.ix-chip--multi.on .ix-chip__box::after{ border-color:var(--green); }
.ix-fuq .ix-fq__free, .ix-fuq .ix-fq__answer{ margin-left:35px; }
.ix-fuview__foot{ flex:none; border-top:1px solid var(--line); background:var(--paper); }
.ix-fuview__footinner{ max-width:760px; margin:0 auto; padding:12px 26px; display:flex; align-items:center; gap:10px; }

/* ---------------- in-chat follow-up stepper (Claude-Code style) ---------------- */
.ix-step{ flex:0 1 auto; min-height:0; max-height:100%; overflow:hidden; border-top:2px solid var(--green); background:var(--paper);
  padding:24px 22px 20px; display:flex; flex-direction:column; box-shadow:0 -10px 26px -18px rgba(43,100,24,.5); animation:ixrise 220ms ease backwards; }
.ix-step__body{ flex:1 1 auto; min-height:0; overflow-y:auto; }
.ix-step__head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.ix-step__ey{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--green-deep); display:inline-flex; align-items:center; gap:7px; }
.ix-step__count{ margin-left:auto; font-family:'PP Telegraf'; font-weight:700; font-size:14px; color:var(--ink); }
.ix-step__count i{ font-style:normal; color:var(--faint); font-weight:600; font-size:12.5px; }
.ix-step__dots{ display:flex; gap:5px; margin-bottom:20px; }
.ix-step__dot{ height:5px; flex:1; border-radius:900px; background:var(--line); transition:background 200ms; }
.ix-step__dot.done{ background:var(--green); }
.ix-step__dot.on{ background:var(--ink); }
.ix-step__q{ font-family:'PP Telegraf'; font-size:18px; font-weight:700; line-height:1.28; letter-spacing:-.015em; color:var(--ink); }
.ix-step__hint{ font-size:13px; line-height:1.5; color:var(--muted); margin-top:8px; }
.ix-step__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.ix-step__chips .ix-chip{ font-size:13px; padding:9px 15px; font-weight:500; }
.ix-step__free{ display:flex; gap:8px; margin-top:13px; }
.ix-step__free input{ flex:1; min-width:0; height:44px; border:1px solid var(--line); border-radius:11px; padding:0 15px; font-family:inherit; font-size:14px; color:var(--ink); background:var(--paper); }
.ix-step__free input:focus{ outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(58,133,24,.12); }
.ix-step__add{ flex:none; height:38px; padding:0 15px; border-radius:10px; border:1px solid var(--green); background:var(--mint); color:var(--green-deep); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
.ix-step__foot{ flex:none; display:flex; align-items:center; gap:10px; margin-top:0; padding-top:18px; }
.ix-step__footr{ margin-left:auto; display:flex; align-items:center; gap:8px; }
.ix-step__back{ background:transparent; border:none; color:var(--muted); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; padding:8px 4px; }
.ix-step__back:hover{ color:var(--ink); }
.ix-step__skip{ background:transparent; border:none; color:var(--faint); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; padding:8px 6px; }
.ix-step__skip:hover{ color:var(--muted); }
.ix-step__next{ display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 17px; border-radius:900px; border:none; background:var(--green); color:#fff; font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:background 120ms; }
.ix-step__next:hover{ background:var(--green-deep); }
.ix-step__next:disabled, .ix-step__add:disabled{ opacity:.5; cursor:default; }

/* per-section confidence chip + dot */
.ix-confdot{ width:7px; height:7px; border-radius:50%; }
.ix-confdot.is-hi{ background:var(--green); } .ix-confdot.is-mid{ background:#d9a93a; } .ix-confdot.is-lo{ background:#cdd6df; }
.ix-rail__conf{ font-size:11px; font-weight:700; color:var(--green-deep); font-variant-numeric:tabular-nums; }
.ix-rail__check{ display:flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; flex:none; background:#eef2f6; color:#aeb8c2; transition:background 200ms, color 200ms; }
.ix-rail__check.is-confirmed{ background:var(--green); color:#fff; }
.ix-tag--ok{ background:var(--mint); color:var(--green-deep); display:inline-flex; align-items:center; gap:5px; }
.ix-tag--ok .ix-ok{ display:flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%; background:var(--green); color:#fff; }

/* in-chat thinking row (bottom of conversation log) */
.ix-thinkrow{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:var(--muted); padding:4px 0; }
.ix-thinkrow .ix-think{ padding:0; }
.ix-thinkrow .ix-think span{ background:var(--green); }

/* composer thinking */
.ix-composer__thinking{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:var(--green-deep); margin-bottom:9px; padding:7px 12px; background:var(--mint); border:1px solid var(--mint-line); border-radius:10px; }
.ix-composer__thinking .ix-think span{ background:var(--green); }
.ix-stopbtn{ margin-left:auto; margin-right:-4px; width:34px; height:34px; padding:0; border-radius:10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:border-color 120ms, background 120ms; }
.ix-stopbtn + .ix-send{ margin-left:0; }
.ix-stopbtn:hover{ border-color:#c3ccd6; background:var(--line2); }
.ix-stopbtn svg{ color:var(--ink); }
.ix-stopbtn--lg{ margin:16px 0 0; height:34px; padding:0 16px; font-size:13px; }

/* ---------------- consumer profiles ---------------- */
.ix-profs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:9px; align-items:stretch; }
.ix-prof{ display:flex; flex-direction:column; gap:7px; min-width:0; border:1px solid var(--line); border-radius:18px; padding:13px 15px 14px; background:var(--paper,#fff); transition:border-color 140ms; }
.ix-prof:hover{ border-color:var(--line-strong,#c6cec8); }
.ix-prof__hd{ display:flex; gap:9px; align-items:center; min-width:0; }
.ix-prof__desc{ font-size:12px; line-height:1.5; color:var(--muted); text-wrap:pretty; }
.ix-prof__avatar{ width:26px; height:26px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.02em; }
.ix-prof__name{ font-size:13px; font-weight:600; color:var(--ink); }
.ix-prof__x{ display:flex; align-items:center; justify-content:center; width:20px; height:20px; flex:none; border:none; background:transparent; color:var(--muted); border-radius:50%; cursor:pointer; }
.ix-prof__x:hover{ background:var(--line2); color:var(--ink); }
.ix-prof-add{ align-self:center; border:1px dashed #c3d3df; background:#fbfdff; color:var(--green-deep); border-radius:900px; padding:6px 14px; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; }-family:inherit; }
.ix-prof-add:hover{ border-color:var(--green); background:var(--mint); }
.ix-cutgrp__sub{ font-size:11.5px; font-weight:600; color:var(--muted); margin-bottom:7px; }
.ix-cutgrp:not(:last-child){ margin-bottom:14px; }

/* ---------------- additional-context free-form ---------------- */
.ix-mc-note{ display:flex; gap:9px; align-items:flex-start; font-size:12.5px; line-height:1.5; color:#8a6d2f; background:#fff8e8; border:1px solid #f1e2bd; border-radius:10px; padding:11px 13px; margin-bottom:16px; }
.ix-mc-note svg{ flex:none; margin-top:1px; }
.ix-ffblock{ margin-bottom:14px; }
.ix-ffblock__l{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:6px; }
.ix-ff{ border:1px solid var(--line); border-radius:10px; padding:11px 13px; background:#fbfdff; font-size:13px; line-height:1.55; color:var(--ink); min-height:48px; }
.ix-ff--tall{ min-height:140px; }
.ix-ff--line{ min-height:0; padding:9px 13px; }
.ix-tagsel__chips{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.ix-tagsel__chip{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--ink); background:var(--line2); border:1px solid var(--faint); border-radius:900px; padding:6px 11px 6px 14px; }
.ix-tagsel__x{ display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; border:none; border-radius:900px; background:transparent; color:var(--muted); font-size:15px; line-height:1; cursor:pointer; padding:0; }
.ix-tagsel__x:hover{ background:transparent; color:var(--ink); }
.ix-optcheck{ display:flex; align-items:center; gap:9px; }
.ix-optcheck__box{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border:1.5px solid var(--line); border-radius:5px; background:var(--paper); color:#fff; }
.ix-optcheck.on .ix-optcheck__box{ background:var(--green-deep); border-color:var(--green-deep); }
.ix-attr-addmenu--wide{ width:360px; }
.ix-optrow{ align-items:center; gap:11px; }
.ix-optrow__txt{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.ix-optrow__t{ font-size:13px; font-weight:600; color:var(--ink); }
.ix-optrow__s{ font-size:11px; font-weight:500; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ix-ff .ix-edit{ display:block; }
.ix-ff .ix-edit:empty::before{ color:#b6c0ca; }

/* plain section navigator (labels only, no stats/flags) */
.ix-bnav{ flex:none; display:flex; flex-direction:row; flex-wrap:nowrap; gap:4px; justify-content:center; align-items:center; width:100%; background:#F6FAFD; padding:7px 26px; border-bottom:1px solid var(--line); }
.ix-bnav__item{ display:inline-block; width:auto; white-space:nowrap; text-align:left; padding:8px 12px; border:none; background:transparent; border-radius:9px; cursor:pointer; font-family:inherit; font-size:13px; font-weight:600; color:var(--muted); }00; color:var(--muted); transition:background .12s, color .12s; }
.ix-bnav__item:hover{ background:var(--line2); color:var(--ink); }
.ix-bnav__item.on{ background:var(--paper); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line); }

/* ============ Quality check — ambient confidence nav (Concept 1) ============ */
.ix-ctxwrap{ display:flex; flex-direction:column; gap:4px; max-width:760px; margin:0; width:100%; }
.ix-cnav{ position:sticky; top:0; align-self:start; display:flex; flex-direction:column; }
.ix-cnav__hd{ padding:2px 4px 12px; }
.ix-cnav__ey{ font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green); display:block; margin-bottom:9px; }
.ix-cnav__stat{ font-family:'PP Telegraf'; font-weight:700; font-size:24px; letter-spacing:-.02em; color:var(--ink); line-height:1; }
.ix-cnav__stat i{ font-style:normal; font-weight:600; font-size:12.5px; color:var(--muted); margin-left:4px; }
.ix-cnav__sub{ font-size:12px; color:var(--muted); margin-top:7px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.ix-cnav__flagn{ color:#c0362c; font-weight:700; }
.ix-cnav__clear{ color:var(--green-deep); font-weight:600; }
.ix-cnav__dot{ color:var(--faint); }
.ix-cnav__list{ display:flex; flex-direction:column; gap:2px; border-top:1px solid var(--line); padding-top:8px; }
.ix-cnav__item{ display:flex; align-items:center; gap:9px; padding:8px 9px; border:none; background:transparent; border-radius:9px; cursor:pointer; font-family:inherit; text-align:left; width:100%; transition:background .12s; }
.ix-cnav__item:hover{ background:var(--line2); }
.ix-cnav__pip{ width:8px; height:8px; border-radius:50%; flex:none; background:#cdd6df; }
.ix-cnav__item[data-state=flag] .ix-cnav__pip{ background:#c0362c; box-shadow:0 0 0 3px rgba(192,54,44,.14); }
.ix-cnav__item[data-state=check] .ix-cnav__pip{ background:#d9a93a; }
.ix-cnav__item[data-state=inf] .ix-cnav__pip{ background:#9db7c9; }
.ix-cnav__item[data-state=ok] .ix-cnav__pip{ background:var(--green); }
.ix-cnav__lbl{ flex:1; min-width:0; font-size:13px; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ix-cnav__item[data-state=flag] .ix-cnav__lbl{ color:#a12b22; }
.ix-cnav__meta{ flex:none; font-size:11px; font-weight:700; display:inline-flex; align-items:center; gap:4px; }
.ix-cnav__flag{ color:#c0362c; display:inline-flex; align-items:center; gap:4px; }
.ix-cnav__amber{ color:#8c5800; }
.ix-cnav__inf{ color:var(--faint); font-weight:600; }
.ix-cnav__item[data-state=ok] .ix-cnav__meta{ color:var(--green); }
.ix-cnav__foot{ font-size:11px; line-height:1.5; color:var(--faint); margin-top:12px; padding:0 4px; }

/* section header confidence chip */
.ix-secconf{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:900px; white-space:nowrap; }
.ix-secconf--flag{ background:#fdecea; color:#b3271e; }
.ix-secconf--review{ background:var(--amber); color:var(--amber-tx); }
.ix-secconf--inf{ background:var(--line2); color:var(--muted); }
.ix-secconf--ok{ background:var(--mint); color:var(--green-deep); }

/* inline field flag pinned to a wrong/at-risk field */
.ix-fflag{ display:flex; gap:9px; align-items:flex-start; margin-top:10px; padding:10px 12px; border-radius:10px; border:1px solid #f2c7c1; background:#fdf1ef; }
.ix-fflag[data-sev=check]{ border-color:#eed9a8; background:#fff8e8; }
.ix-fflag__ic{ flex:none; color:#c0362c; margin-top:1px; }
.ix-fflag[data-sev=check] .ix-fflag__ic{ color:#8c5800; }
.ix-fflag__tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.ix-fflag__t{ font-size:12.5px; font-weight:700; color:#a12b22; line-height:1.4; }
.ix-fflag[data-sev=check] .ix-fflag__t{ color:#7a5100; }
.ix-fflag__d{ font-size:12px; line-height:1.5; color:var(--muted); }

/* stacked field flags at the top of a section card */
.ix-fflags{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.ix-fflags .ix-fflag{ margin-top:0; }

/* jump flash (shared by nav + gate) */
@keyframes ixauditflash{ 0%{ box-shadow:0 0 0 0 rgba(58,133,24,0); } 14%{ box-shadow:0 0 0 3px rgba(58,133,24,.5); } 100%{ box-shadow:0 0 0 3px rgba(58,133,24,0); } }
.ix-audit-flash{ animation:ixauditflash 1.3s ease; border-radius:14px; }

/* ============ Quality check — gate inspection (Concept 2) ============ */
.ix-insp{ margin-top:8px; border:1px solid var(--line); border-radius:14px; background:var(--paper); overflow:hidden; }
.ix-insp__hd{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 14px 0; }
.ix-insp__ey{ font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-deep); }
.ix-insp__scan{ font-size:11px; color:var(--faint); }
.ix-insp__verdict{ padding:6px 14px 12px; font-size:13.5px; line-height:1.5; color:var(--ink); }
.ix-insp__verdict b{ font-weight:700; }
.ix-insp__wrong{ color:#c0362c; }
.ix-insp__rows{ display:flex; flex-direction:column; border-top:1px solid var(--line2); }
.ix-insp__row{ display:flex; gap:10px; padding:12px 14px; border-bottom:1px solid var(--line2); }
.ix-insp__row:last-child{ border-bottom:none; }
.ix-insp__row.is-done{ background:#fbfdff; }
.ix-insp__ic{ flex:none; width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center; }
.ix-insp__row[data-sev=wrong] .ix-insp__ic{ background:#fdecea; color:#c0362c; }
.ix-insp__row[data-sev=check] .ix-insp__ic{ background:var(--amber); color:#8c5800; }
.ix-insp__row[data-sev=gap] .ix-insp__ic{ background:var(--line2); color:var(--muted); }
.ix-insp__row.is-done .ix-insp__ic{ background:var(--green); color:#fff; }
.ix-insp__main{ min-width:0; flex:1; }
.ix-insp__title{ font-size:13px; font-weight:600; line-height:1.4; color:var(--ink); }
.ix-insp__row.is-done .ix-insp__title{ color:var(--muted); }
.ix-insp__detail{ font-size:12px; line-height:1.5; color:var(--muted); margin-top:3px; }
.ix-insp__acts{ display:flex; align-items:center; gap:8px; margin-top:9px; flex-wrap:wrap; }
.ix-insp__jump{ display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:8px; padding:6px 11px; font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; transition:border-color .12s, background .12s, color .12s; }
.ix-insp__jump:hover{ border-color:var(--green); color:var(--green-deep); background:var(--mint); }
.ix-insp__clear{ border:none; background:transparent; color:var(--muted); font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; padding:6px 4px; }
.ix-insp__clear:hover{ color:var(--green-deep); }
.ix-insp__undo{ border:none; background:transparent; color:var(--faint); font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; padding:4px 0; }
.ix-insp__undo:hover{ color:var(--muted); }
.ix-insp__foot{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-top:1px solid var(--line); background:#fbfdff; }
.ix-insp__prog{ font-size:12px; font-weight:600; color:var(--muted); }
.ix-insp__build{ margin-left:auto; display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 16px; border-radius:900px; border:1px solid var(--line); background:var(--paper); color:var(--ink); font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:background .12s, border-color .12s, color .12s; }
.ix-insp__build:hover{ border-color:var(--ink); }
.ix-insp__build.is-clear{ background:var(--green); border-color:var(--green); color:#fff; }
.ix-insp__build.is-clear:hover{ background:var(--green-deep); }
.ix-insp__scanning{ display:flex; align-items:center; gap:10px; padding:10px 14px 14px; font-size:13px; line-height:1.5; color:var(--muted); }
.ix-insp__scanning .ix-think{ padding:0; }
.ix-insp__scanning .ix-think span{ background:var(--green); }
.ix-insp--done{ display:inline-flex; flex-direction:row; align-items:center; gap:8px; margin-top:8px; padding:9px 14px; font-size:13px; font-weight:600; color:var(--green-deep); background:var(--mint); border-radius:12px; }
.ix-insp__doneic{ width:19px; height:19px; border-radius:900px; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }


/* ---------------- insight-depth gate (all questions, main panel) ---------------- */
.ixd-gate{ position:absolute; inset:0; display:flex; flex-direction:column; background:var(--bg); z-index:6; animation:ixrise 260ms ease backwards; }
.ixd-gate__scroll{ flex:1; min-height:0; overflow-y:auto; padding:34px 26px 30px; }
.ixd-gate__inner{ max-width:1020px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
@media (max-width:900px){ .ixd-gate__inner{ grid-template-columns:minmax(0,1fr); } }
.ixd-gate__qs{ min-width:0; }
.ixd-rail{ position:sticky; top:0; display:flex; flex-direction:column; gap:12px; }
.ixd-rail__card{ background:var(--paper); border:1px solid var(--line2); border-radius:14px; padding:16px 18px; }
.ixd-rail__ey{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); }
.ixd-rail__rows{ display:flex; flex-direction:column; gap:9px; margin-top:12px; }
.ixd-rail__row{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.ixd-rail__k{ font-size:12px; font-weight:600; color:var(--muted); }
.ixd-rail__v{ font-family:'PP Telegraf'; font-size:14px; font-weight:700; color:var(--ink); text-align:right; }
.ixd-rail__conf{ margin-top:12px; padding-top:11px; border-top:1px solid var(--line2); font-size:12px; font-weight:600; color:var(--green-deep); }
.ixd-rec{ border-radius:14px; padding:16px 18px; border:1px solid var(--line2); background:var(--paper); transition:border-color 200ms, background 200ms; }
.ixd-rec--editing{ border-style:dashed; background:transparent; }
.ixd-rec--done{ border-color:#d7e6cc; background:linear-gradient(180deg,#f4faef 0%,#fff 70%); }
.ixd-rec__sealed{ display:flex; flex-direction:column; gap:9px; margin-top:12px; }
.ixd-rec__lock{ width:32px; height:32px; border-radius:900px; background:var(--line2); color:var(--faint); display:flex; align-items:center; justify-content:center; }
.ixd-rec__sealedt{ font-size:12.5px; line-height:1.55; color:var(--muted); text-wrap:pretty; }
.ixd-rec__think{ display:flex; align-items:center; gap:9px; margin-top:13px; font-size:12.5px; line-height:1.5; color:var(--muted); }
.ixd-rec__think .ix-think span{ background:var(--green); }
.ixd-rec__body{ margin-top:12px; animation:ixrise 260ms ease backwards; }
.ixd-rec__mode{ font-family:'PP Telegraf'; font-size:15px; font-weight:700; line-height:1.3; color:var(--ink); }
.ixd-rec__conf{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:11px; padding-top:11px; border-top:1px solid #e2eed9; }
.ixd-rec__pct{ font-family:'PP Telegraf'; font-size:19px; font-weight:700; color:var(--green-deep); }
.ixd-rec__why{ margin-top:11px; font-size:12.5px; line-height:1.6; color:var(--muted); text-wrap:pretty; }
.ixd-confrow{ margin-top:16px; padding-top:16px; border-top:1px solid var(--line2); }
.ixd-toggle--wide{ width:100%; align-items:flex-start; padding:12px 14px; font-weight:400; }
.ixd-toggle--wide .ixd-toggle__track{ margin-top:2px; }
.ix-check__hint{ margin-top:9px; font-size:12px; line-height:1.5; color:var(--faint); }
.ixd-gate__ey{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--green-deep); display:inline-flex; align-items:center; gap:7px; }
.ixd-gate__h{ font-family:'PP Telegraf'; font-size:27px; font-weight:700; letter-spacing:-.02em; line-height:1.18; color:var(--ink); margin:11px 0 8px; }
.ixd-gate__s{ font-size:14px; line-height:1.6; color:var(--muted); margin:0 0 26px; max-width:56ch; text-wrap:pretty; }
.ixd-q{ background:var(--paper); border:1px solid var(--line2); border-radius:14px; padding:20px 22px; margin-bottom:14px; }
.ixd-q__top{ display:flex; align-items:baseline; gap:11px; }
.ixd-q__n{ width:22px; height:22px; flex:none; border-radius:900px; background:#e7f2dd; color:var(--green-deep); font-size:11.5px; font-weight:700; display:flex; align-items:center; justify-content:center; align-self:center; }
.ixd-q__lab{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); }
.ixd-q__q{ font-family:'PP Telegraf'; font-size:17px; font-weight:700; letter-spacing:-.012em; color:var(--ink); margin:2px 0 0; }
.ixd-q__hint{ font-size:12.5px; line-height:1.55; color:var(--muted); margin-top:5px; }
.ixd-q__body{ margin-top:16px; }

.ixd-opts{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.ixd-opts--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:820px){ .ixd-opts{ grid-template-columns:repeat(2,1fr); } }
.ixd-opt{ text-align:left; border:1px solid var(--line); background:var(--paper); border-radius:11px; padding:11px 12px; cursor:pointer; font-family:inherit; transition:border-color 130ms, background 130ms, box-shadow 130ms; display:flex; flex-direction:column; gap:3px; }
.ixd-opt:hover{ border-color:var(--green); background:var(--mint); }
.ixd-opt.on{ border-color:var(--green); background:var(--mint); box-shadow:0 0 0 2px rgba(58,133,24,.16); }
.ixd-opt__t{ font-size:13.5px; font-weight:700; color:var(--ink); }
.ixd-opt.on .ixd-opt__t{ color:var(--green-deep); }
.ixd-opt__s{ font-size:11.5px; line-height:1.4; color:var(--muted); }

.ixd-slider{ --fill:0%; display:block; width:100%; height:22px; -webkit-appearance:none; appearance:none; background:transparent; cursor:pointer; margin:0; }
.ixd-slider::-webkit-slider-runnable-track{ height:6px; border-radius:900px; background:linear-gradient(90deg,var(--green) 0 var(--fill),var(--line) var(--fill) 100%); }
.ixd-slider::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:20px; height:20px; margin-top:-7px; border-radius:900px; background:var(--paper); border:3px solid var(--green); box-shadow:0 1px 4px rgba(4,12,21,.18); }
.ixd-slider::-moz-range-track{ height:6px; border-radius:900px; background:var(--line); }
.ixd-slider::-moz-range-thumb{ width:16px; height:16px; border-radius:900px; background:var(--paper); border:3px solid var(--green); }
.ixd-slider:focus-visible{ outline:none; }
.ixd-slider:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 4px rgba(58,133,24,.2); }
.ixd-slider:disabled{ cursor:default; opacity:.55; }
.ixd-opt:disabled{ cursor:default; opacity:.6; }
.ixd-srow{ display:flex; align-items:baseline; gap:10px; margin-bottom:11px; }
.ixd-sval{ font-family:'PP Telegraf'; font-size:16px; font-weight:700; color:var(--ink); }
.ixd-spill{ font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:3px 9px; border-radius:900px; background:#e7f2dd; color:var(--green-deep); }
.ixd-sblurb{ margin-left:auto; font-size:12.5px; color:var(--muted); text-align:right; max-width:34ch; line-height:1.45; }
.ixd-sticks{ display:flex; justify-content:space-between; gap:8px; margin-top:9px; }
.ixd-stick{ flex:1 1 0; font-size:11px; color:var(--faint); font-weight:600; line-height:1.25; }
.ixd-stick:nth-child(2){ text-align:center; }
.ixd-stick:last-child{ text-align:right; }
.ixd-stick.on{ color:var(--green-deep); }

.ixd-out{ margin-top:22px; border:1px solid #d7e6cc; background:linear-gradient(180deg,#f4faef 0%,#fff 62%); border-radius:14px; padding:18px 20px; }
.ixd-out__ey{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-deep); }
.ixd-out__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:13px; }
@media (max-width:820px){ .ixd-out__grid{ grid-template-columns:repeat(2,1fr); } }
.ixd-out__k{ font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); margin-bottom:4px; }
.ixd-out__v{ font-family:'PP Telegraf'; font-size:15px; font-weight:700; color:var(--ink); line-height:1.3; }
.ixd-out__why{ margin-top:15px; padding-top:13px; border-top:1px solid #e2eed9; font-size:12.5px; line-height:1.6; color:var(--muted); text-wrap:pretty; }
.ixd-foot{ flex:none; border-top:1px solid var(--line); background:var(--paper); }
.ixd-foot__in{ max-width:1020px; margin:0 auto; padding:13px 26px; display:flex; align-items:center; gap:12px; }
.ixd-foot__p{ font-size:12.5px; color:var(--muted); }
.ixd-foot__acts{ margin-left:auto; display:flex; align-items:center; gap:8px; }

/* generic all-at-once follow-up list reused for round 2 */
.ixd-list{ display:flex; flex-direction:column; gap:14px; }
.ixd-overlay{ position:absolute; inset:0; display:flex; flex-direction:column; background:var(--bg); z-index:6; animation:ixrise 260ms ease backwards; }
.ixd-srow .ixd-q__hint{ margin-left:auto; margin-top:0; max-width:34ch; }

.ixd-toggle{ display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:11px; padding:0 14px; background:var(--paper); cursor:pointer; text-align:left; font-weight:700; color:var(--ink); font-family:inherit; transition:border-color 130ms, background 130ms; }
.ixd-toggle:hover{ border-color:var(--green); }
.ixd-toggle.on{ border-color:var(--green); background:var(--mint); }
.ixd-toggle__track{ flex:none; width:36px; height:21px; border-radius:900px; background:var(--line); position:relative; transition:background 150ms; }
.ixd-toggle.on .ixd-toggle__track{ background:var(--green); }
.ixd-toggle__thumb{ position:absolute; top:2px; left:2px; width:17px; height:17px; border-radius:900px; background:#fff; box-shadow:0 1px 3px rgba(4,12,21,.25); transition:transform 150ms; }
.ixd-toggle.on .ixd-toggle__thumb{ transform:translateX(15px); }
.ixd-toggle__lbl{ display:flex; flex-direction:column; gap:2px; }
.ixd-assetrow{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:16px; }
.ixd-toggle__t{ font-size:13.5px; font-weight:700; color:var(--ink); }
.ixd-toggle.on{ color:var(--green-deep); }
.ixd-toggle__s{ font-size:12px; line-height:1.45; color:var(--muted); }
.ixd-out__conf{ margin-top:10px; font-size:12.5px; font-weight:600; color:var(--green-deep); background:var(--mint); border:1px solid #d7e6cc; border-radius:8px; padding:7px 11px; display:inline-block; }

@keyframes ixblink{ 0%,80%,100%{ opacity:.25 } 40%{ opacity:1 } }
.ix-fq__head{ display:flex; align-items:center; gap:10px; padding:11px 13px 4px; }
.ix-fq__ey{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-deep); }
.ix-fq__prog{ margin-left:auto; font-size:12px; font-weight:700; color:var(--faint); }
.ix-fq__hint{ font-size:11.5px; color:var(--faint); margin-top:5px; }
.ixd-toggle:disabled{ cursor:default; opacity:.6; }

/* insight-depth questions, asked in the chat */
.ix-dfu{ border:1px solid var(--line); border-radius:14px; background:var(--paper); overflow:hidden; margin-top:4px; }
.ix-dfu__head{ padding:11px 14px; border-bottom:1px solid var(--line2); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-deep); }
.ix-dfu__q{ padding:14px; border-bottom:1px solid var(--line2); }
.ix-dfu__lab{ font-size:10.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--faint); }
.ix-dfu__qt{ font-size:13.5px; font-weight:700; color:var(--ink); line-height:1.4; margin:4px 0 10px; }
.ix-dfu__opts{ display:flex; flex-wrap:wrap; gap:6px; }
.ix-dfu__val{ font-family:'PP Telegraf'; font-size:13.5px; font-weight:700; color:var(--green-deep); margin-bottom:9px; }
.ix-dfu__val span{ color:var(--muted); font-weight:600; }
.ix-dfu__q .ixd-sticks{ margin-top:7px; }
.ix-dfu__q .ixd-stick{ font-size:10px; }
.ix-dfu__q .ixd-toggle--wide{ padding:10px 12px; }
.ix-dfu__q .ixd-toggle__s{ font-size:11.5px; }
.ix-dfu__foot{ padding:12px 14px; display:flex; justify-content:flex-end; background:#fbfdff; }

/* docked depth stepper additions */
.ix-step__dot{ border:none; padding:0; cursor:pointer; }
.ix-step__sum{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.ix-step__sumpill{ border:1px solid var(--line); background:var(--mint); color:var(--green-deep); border-radius:900px; padding:4px 11px; font-size:11.5px; font-weight:700; font-family:inherit; cursor:pointer; }
.ix-step__sumpill:hover{ border-color:var(--green); }
.ix-step__slider{ margin-top:18px; }
.ix-step__sval{ font-family:'PP Telegraf'; font-size:15px; font-weight:700; color:var(--green-deep); margin-bottom:12px; }
.ix-step__sval span{ color:var(--muted); font-weight:600; font-size:13.5px; }
.ix-step__slider .ixd-sticks{ margin-top:9px; }
.ix-step__next{ display:inline-flex; align-items:center; gap:8px; border:none; background:var(--green); color:#fff; border-radius:900px; padding:11px 20px; font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer; }
.ix-step__next:hover{ background:var(--green-deep); }
.ix-step__next:disabled{ opacity:.5; cursor:default; }

/* one depth question per chat turn */
.ix-dq{ margin-top:18px; padding-top:20px; border-top:1px solid var(--line); }
.ix-dq.is-locked{ opacity:1; }
.ix-dq.is-locked .ix-dq__ey{ color:var(--green-deep); }
.ix-dq.is-locked .ix-dq__n{ color:var(--muted); }
.ix-dq__head{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.ix-dq__ey{ font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-deep); }
.ix-dq__n{ margin-left:auto; font-family:'PP Telegraf'; font-size:12px; font-weight:700; color:var(--ink); }
.ix-dq__n i{ font-style:normal; color:var(--faint); font-weight:600; }
.ix-dq__q{ font-family:'PP Telegraf'; font-size:16px; font-weight:700; line-height:1.32; letter-spacing:-.01em; color:var(--ink); margin-bottom:12px; }
.ix-dq__chips{ display:flex; flex-wrap:nowrap; justify-content:flex-end; gap:5px; }
.ix-dq__chips .ix-chip{ font-size:12px; padding:8px 11px; font-weight:500; white-space:nowrap; }
.ix-dq__slider{ margin-top:2px; }
.ix-dq__sval{ font-family:'PP Telegraf'; font-size:14px; font-weight:700; color:var(--green-deep); margin-bottom:11px; }
.ix-dq__sval span{ color:var(--muted); font-weight:600; font-size:13px; }
.ix-dq__slider .ixd-sticks{ margin-top:8px; }
.ix-dq__slider .ixd-stick{ font-size:10px; }
.ix-dq__foot{ display:flex; justify-content:flex-end; margin-top:13px; }


/* v1-style progressive disclosure: shell first, values shimmer, then bloom */
@keyframes ixBloom{ from{ opacity:0; transform:translateY(5px) } to{ opacity:1; transform:none } }
@keyframes ixShimmer{ 0%{ background-position:100% 50% } 100%{ background-position:0 50% } }
.ix-bloom{ animation:ixBloom 300ms cubic-bezier(.22,1,.36,1) backwards; }
.ix-vslot{ height:13px; border-radius:6px; margin:5px 0; background:linear-gradient(90deg, rgba(13,20,17,.05) 25%, rgba(13,20,17,.09) 37%, rgba(13,20,17,.05) 63%); background-size:400% 100%; animation:ixShimmer 1.2s ease infinite; }
.ix-vslot--field{ height:38px; border-radius:10px; margin:0; }
.ix-vslot--tall{ height:74px; border-radius:10px; }
@media (prefers-reduced-motion: reduce){ .ix-bloom{ animation:none } .ix-vslot{ animation:none } }

/* confirmation block — claim rows + primary action */


/* floating chat launcher (shown when the assistant is collapsed) */
/* An edge tab, not a floating circle: with the chat collapsed the brief owns
   this column, so the launcher hugs the workspace edge and the brief reserves
   its width rather than letting text run underneath it. */
.ix-fab{ position:absolute; left:18px; top:18px; z-index:8; width:38px; height:38px; border-radius:900px; border:none; background:var(--ink); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(4,12,21,.28); transition:background 140ms, transform 140ms; }
.ix-fab:hover{ background:var(--green-deep); transform:translateY(-1px); }
.ix-art--fab .ix-art__scroll{ padding-left:64px; }
.ix-art--fab .ix-art__head{ padding-left:64px; }
/* read-to-the-bottom nudge inside the confirm card */

.ix-dq__chips{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
/* insight-depth CTAs: white by default, light green on hover */
.ix-dq__chips .ix-chip{ background:var(--paper); border-color:var(--line); color:var(--ink); }
.ix-dq__chips .ix-chip:hover{ background:var(--mint); border-color:var(--mint-line); color:var(--green-deep); }
.ix-dq__chips .ix-chip.on{ background:var(--green); border-color:var(--green); color:#fff; }
.ix-dq__chips.is-answered .ix-chip:not(.on){ background:var(--paper); border-color:var(--line); color:var(--muted); }
.ix-dq__chips.is-answered .ix-chip:not(.on):hover{ border-color:var(--green); color:var(--green-deep); }
.ix-dq__chips--stack{ display:grid; grid-template-columns:max-content; justify-content:end; }
.ix-chip--rich{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; border-radius:14px; padding:9px 14px; text-align:left; }
.ix-chip__t{ font-size:12.5px; font-weight:700; }
.ix-chip__s{ font-size:11.5px; font-weight:500; opacity:.72; }
.ix-dq.is-locked .ixd-slider{ opacity:.6; }
.ix-dq.is-locked .ixd-stick:not(.on){ color:var(--faint); }
.ix-dq__set{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:900px; padding:9px 18px; font-family:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:background 140ms, border-color 140ms, color 140ms; }
.ix-dq__set:hover{ background:var(--mint); border-color:var(--mint-line); color:var(--green-deep); }

/* recommended-approach modal */
.ix-rmodal__veil{ position:fixed; inset:0; z-index:80; background:rgba(15,26,18,.38); display:flex; align-items:center; justify-content:center; padding:24px; animation:ixrmVeil 200ms ease; }

/* ---------------- survey preview / editor modal ---------------- */
.pv-veil{ position:fixed; inset:0; z-index:90; background:rgba(5,12,20,.42); display:flex; align-items:center; justify-content:center; padding:32px; animation:ixrise 180ms ease both; }
.pv-modal{ width:min(760px,100%); height:min(760px,100%); background:var(--paper); border-radius:18px; box-shadow:0 28px 70px rgba(4,12,21,.3); display:flex; flex-direction:column; overflow:hidden; }
.pv-modal--split{ width:min(1240px,100%); height:min(840px,100%); }
.pv-split{ flex:1; min-height:0; display:flex; }
.pv-main{ flex:1; min-width:0; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:20px; }
.pv-main--flush{ padding:0; overflow:hidden; }
.as-inline{ display:flex; height:100%; min-height:0; }
.as-modal--inline{ width:100%; height:100%; max-height:none; border-radius:0; box-shadow:none; }
.as-back{ border:1px solid var(--line); background:var(--paper); border-radius:900px; padding:7px 16px; font:inherit; font-size:12.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.as-back:hover{ border-color:var(--green); color:var(--green-deep); background:var(--mint); }
.pv-side{ flex:none; width:440px; border-left:1px solid var(--line); background:var(--bg); display:flex; flex-direction:column; min-height:0; }
@media (max-width:1180px){ .pv-side{ width:340px; } }
@media (max-width:860px){ .pv-side{ display:none; } }
.pv-side .pv-prev__stage{ padding:18px 16px; align-items:stretch; }
.pv-side .pv-prev__frame{ max-height:100%; }
.pv-side .pv-prev__frame--desktop{ min-height:0; max-width:none; }
.pv-side .pv-prev__frame--mobile{ align-self:center; }
.pv-side .pv-prev__body{ min-height:0; overflow-y:auto; }
.pv-hd{ display:flex; align-items:center; gap:16px; padding:16px 18px; border-bottom:1px solid var(--line); flex:none; }
.pv-hd__t{ font-family:'PP Telegraf'; font-weight:700; font-size:16px; color:var(--ink); }
.pv-tabs{ display:flex; gap:4px; margin-left:auto; background:var(--line2); border-radius:900px; padding:3px; }
.pv-tab{ border:none; background:transparent; padding:6px 14px; border-radius:900px; font-family:inherit; font-size:12.5px; font-weight:600; color:var(--muted); cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.pv-tab i{ font-style:normal; font-weight:700; color:inherit; opacity:.7; }
.pv-tab.on{ background:var(--ink); color:#fff; }
.pv-x{ border:none; background:transparent; color:var(--muted); cursor:pointer; padding:4px; border-radius:6px; display:flex; }
.pv-x:hover{ background:var(--line2); color:var(--ink); }
.pv-body{ flex:1; min-height:0; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:20px; }
.pv-empty{ padding:40px 20px; text-align:center; color:var(--muted); font-size:13px; line-height:1.6; }
.pv-sec__hd{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.pv-sec__t{ font-family:'PP Telegraf'; font-weight:700; font-size:14px; color:var(--ink); }
.pv-sec__n{ font-size:12px; color:var(--muted); }
.pv-q{ border:1px solid var(--line); border-radius:12px; padding:12px; margin-bottom:10px; background:#fbfdff; }
.pv-q__hd{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.pv-q__id{ font-size:11px; font-weight:700; color:var(--green-deep); background:var(--mint); border-radius:6px; padding:2px 6px; }
.pv-q__type{ font-size:11px; color:var(--muted); }
.pv-q__text{ width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:8px; padding:8px 10px; font-family:inherit; font-size:13.5px; color:var(--ink); resize:vertical; margin-bottom:8px; }
.pv-q__text:focus{ outline:none; border-color:var(--green); }
.pv-opts{ display:flex; flex-direction:column; gap:6px; }
.pv-opt{ display:flex; align-items:center; gap:6px; }
.pv-opt__in{ flex:1; border:1px solid var(--line); border-radius:7px; padding:6px 9px; font-family:inherit; font-size:12.5px; color:var(--ink); }
.pv-opt__in:focus{ outline:none; border-color:var(--green); }
.pv-ord{ display:flex; flex-direction:column; flex:none; }
.pv-ord button{ width:18px; height:14px; border:none; background:transparent; color:var(--muted); cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.pv-ord button:hover:not(:disabled){ color:var(--green-deep); }
.pv-ord button:disabled{ opacity:.25; cursor:default; }
.pv-del{ border:none; background:transparent; color:var(--muted); cursor:pointer; padding:5px; border-radius:6px; display:flex; margin-left:auto; }
.pv-del:hover{ background:var(--bg-red,#fbeceb); color:#bf3826; }
.pv-del--sm{ margin-left:0; padding:3px; }
.pv-add{ border:1px dashed var(--line); background:transparent; color:var(--green-deep); font-family:inherit; font-size:12px; font-weight:600; border-radius:8px; padding:6px 10px; cursor:pointer; align-self:flex-start; }
.pv-add:hover{ background:var(--mint); border-color:var(--green); }
.pv-add--q{ margin-top:2px; }
.pv-qopts{ display:flex; align-items:center; gap:16px; margin-top:9px; padding-top:9px; border-top:1px solid var(--line2); }
.pv-qopt{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); cursor:pointer; }
.pv-qopt input{ accent-color:var(--green); }
.pv-plist{ display:flex; flex-direction:column; gap:8px; }
.pv-prow{ display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; padding:8px 10px; }
.pv-pimg{ width:38px; height:38px; border-radius:7px; object-fit:cover; flex:none; background:var(--line2); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:var(--muted); }
.pv-pin{ flex:1; border:1px solid var(--line); border-radius:7px; padding:6px 9px; font-family:inherit; font-size:12.5px; color:var(--ink); }
.pv-pin:focus{ outline:none; border-color:var(--green); }
.pv-ft{ flex:none; padding:12px 18px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; }
.pv-done{ height:38px; padding:0 20px; border:0; border-radius:900px; background:var(--green); color:#fff; font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer; }
.pv-done:hover{ background:var(--green-deep); }

.pv-opt{ display:flex; align-items:center; gap:2px; border-radius:7px; }
.pv-opt.dragging{ opacity:.35; }
.pv-opt.dragover{ box-shadow:0 -2px 0 var(--green); }
.pv-opt__grip{ flex:none; width:16px; height:22px; display:flex; align-items:center; justify-content:center; color:var(--faint); cursor:grab; }
.pv-opt__grip:hover{ color:var(--green-deep); }
.pv-opt__grip:active{ cursor:grabbing; }

/* ---------------- respondent preview ---------------- */
.pv-body--preview{ padding:0; background:var(--bg); }
.pv-prev{ display:flex; flex-direction:column; height:100%; }
.pv-prev__bar{ flex:none; display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--line); background:var(--paper); }
.pv-prev__ic{ border:none; background:transparent; color:var(--muted); cursor:pointer; padding:6px; border-radius:7px; display:flex; }
.pv-prev__ic:hover:not(:disabled){ background:var(--line2); color:var(--ink); }
.pv-prev__ic:disabled{ opacity:.35; cursor:default; }
.pv-prev__device{ margin-left:auto; display:flex; gap:2px; background:var(--line2); border-radius:9px; padding:3px; }
.pv-prev__dbtn{ border:none; background:transparent; color:var(--muted); cursor:pointer; padding:6px 10px; border-radius:6px; display:flex; }
.pv-prev__dbtn.on{ background:var(--paper); color:var(--ink); box-shadow:0 1px 3px rgba(4,12,21,.15); }
.pv-prev__stage{ flex:1; min-height:0; overflow:auto; display:flex; align-items:flex-start; justify-content:center; padding:28px 20px; }
.pv-prev__frame{ background:var(--paper); border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 30px rgba(4,12,21,.08); display:flex; flex-direction:column; overflow:hidden; }
.pv-prev__frame--desktop{ width:100%; max-width:560px; min-height:460px; }
.pv-prev__frame--mobile{ width:300px; min-height:560px; border-radius:26px; border-width:6px; border-color:var(--ink); }
.pv-prev__progress{ flex:none; height:4px; background:var(--line2); }
.pv-prev__progress span{ display:block; height:100%; background:var(--green); transition:width 200ms ease; }
.pv-prev__top{ flex:none; display:flex; align-items:center; justify-content:space-between; padding:16px 20px 0; }
.pv-prev__aloud{ display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.pv-prev__aloud input{ accent-color:var(--ink); }
.pv-prev__skip{ border:none; background:transparent; color:var(--muted); font-family:inherit; font-size:12.5px; text-decoration:underline; cursor:pointer; padding:0; }
.pv-prev__skip:hover{ color:var(--ink); }
.pv-prev__body{ flex:1; padding:28px 20px; display:flex; flex-direction:column; gap:20px; }
.pv-prev__qtext{ font-family:'PP Telegraf'; font-weight:600; font-size:19px; line-height:1.35; color:var(--ink); }
.pv-prev__opts{ display:flex; flex-direction:column; gap:8px; }
.pv-prev__opt{ display:flex; align-items:center; gap:10px; text-align:left; border:1px solid var(--line); border-radius:10px; padding:12px 14px; background:var(--paper); font-family:inherit; font-size:13.5px; color:var(--ink); cursor:pointer; }
.pv-prev__opt:hover{ border-color:var(--green); background:var(--mint); }
.pv-prev__opt.on{ border-color:var(--green); background:var(--mint); font-weight:600; }
.pv-prev__mark{ flex:none; width:16px; height:16px; border-radius:50%; border:1.6px solid var(--faint); display:flex; align-items:center; justify-content:center; }
.pv-prev__opt.on .pv-prev__mark{ border-color:var(--green); }
.pv-prev__dot{ width:8px; height:8px; border-radius:50%; background:var(--green); }
.pv-prev__mark--box{ border-radius:4px; color:var(--green); }
.pv-prev__scale{ display:flex; gap:8px; }
.pv-prev__sbtn{ flex:1; height:44px; border:1px solid var(--line); border-radius:10px; background:var(--paper); font-family:inherit; font-size:13.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.pv-prev__sbtn:hover{ border-color:var(--green); }
.pv-prev__sbtn.on{ border-color:var(--green); background:var(--mint); color:var(--green-deep); }
.pv-prev__open{ width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-family:inherit; font-size:13.5px; color:var(--ink); resize:vertical; }
.pv-prev__open:focus{ outline:none; border-color:var(--green); }
.pv-prev__ft{ flex:none; padding:16px 20px 22px; }
.pv-prev__cta{ width:100%; height:46px; border:none; border-radius:900px; background:var(--ink); color:#fff; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.pv-prev__cta:disabled{ background:var(--line2); color:var(--faint); cursor:default; }
.pv-prev__cta:hover:not(:disabled){ background:var(--green-deep); }
.pv-q.is-focus{ border-color:var(--green); background:var(--mint); }
.pv-q.dragging{ opacity:.35; }
.pv-q.dragover{ box-shadow:0 -2px 0 var(--green); }
.pv-prev__ey{ font-size:10.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); }
.pv-prev__sec{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
/* audience tab */
.pv-aud{ display:flex; flex-direction:column; gap:10px; }
.pv-aud__hd{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; color:var(--muted); }
.pv-aud__chg{ border:none; background:transparent; padding:0; font:inherit; font-size:12px; font-weight:600; color:var(--green-deep); cursor:pointer; }
.pv-aud__chg:hover{ text-decoration:underline; }
.pv-aud__card{ border:1px solid var(--line); border-radius:12px; padding:13px 14px; background:#fbfdff; display:flex; flex-direction:column; gap:9px; }
.pv-aud__top{ display:flex; align-items:center; gap:10px; }
.pv-aud__mark{ width:28px; height:28px; flex:none; border-radius:8px; color:#fff; font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.pv-aud__t{ min-width:0; flex:1; }
.pv-aud__n{ font-size:13.5px; font-weight:700; color:var(--ink); }
.pv-aud__cov{ font-size:11px; font-weight:600; }
.pv-aud__n2{ flex:none; font-size:12px; font-weight:700; color:var(--ink); }
.pv-aud__d{ font-size:12px; line-height:1.5; color:var(--muted); }
.pv-aud__chips{ display:flex; flex-wrap:wrap; gap:5px; }
.pv-aud__mix{ display:flex; flex-direction:column; gap:5px; }
.pv-aud__mix em{ font-style:normal; font-size:11px; color:var(--muted); }
.pv-prev__done{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:40px 24px; text-align:center; }
.pv-prev__doneT{ font-family:'PP Telegraf'; font-weight:700; font-size:19px; color:var(--ink); }
.pv-prev__doneS{ font-size:13px; color:var(--muted); }
.pv-prev__nav{ flex:none; display:flex; align-items:center; justify-content:center; gap:16px; padding:10px 14px 14px; font-size:12.5px; color:var(--muted); }
.pv-prev__nav button{ border:none; background:transparent; color:var(--ink); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; padding:4px 6px; }
.pv-prev__nav button:disabled{ opacity:.35; cursor:default; }

@keyframes ixrmVeil{ from{ opacity:0; } }
.ix-rmodal{ width:min(940px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:20px; padding:28px 30px 24px; box-shadow:0 24px 64px rgba(15,26,18,.28); animation:ixrmPop 260ms cubic-bezier(.2,.9,.3,1.2); }
.ix-rmodal .ix-credit{ margin-top:20px; background:#fff; }
@keyframes ixrmPop{ from{ opacity:0; transform:translateY(14px) scale(.97); } }
.ix-rmodal__ey{ font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--green-deep); margin-bottom:14px; }
.ix-rmodal__row{ display:flex; align-items:center; gap:14px; }
.ix-rmodal__ic{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; background:var(--line2); flex:none; }
.ix-rmodal__ic.amber{ background:#f4dca0; }
.ix-rmodal__mode{ font-family:'PP Telegraf'; font-weight:700; font-size:20px; letter-spacing:-.01em; color:var(--ink); }
.ix-rmodal__dlv{ font-size:13px; color:var(--muted); margin-top:2px; }
.ix-rmodal__chips{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.ix-rmodal__chip{ display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:900px; border:1px solid var(--mint-line); background:var(--mint); font-size:12.5px; font-weight:700; color:var(--green-deep); }
.ix-rmodal__why{ font-size:13.5px; line-height:1.6; color:var(--muted); margin-top:16px; }
.ix-rmt{ display:flex; align-items:center; gap:12px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
.ix-rmt__num{ font-family:'PP Telegraf'; font-weight:700; font-size:26px; letter-spacing:-.02em; color:var(--ink); }
.ix-rmt .ix-led__save{ margin-left:0; margin-right:auto; background:none; padding:0; border-radius:0; color:var(--muted); font-weight:600; }
.ix-rmt__chips{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:14px; }
.ix-rmt__chips .ix-rmt__more{ margin-left:auto; }
.ix-rmt__more{ margin-left:auto; display:inline-flex; align-items:center; gap:5px; border:none; background:none; padding:6px 0; font-family:inherit; font-size:12.5px; font-weight:600; color:var(--muted); cursor:pointer; }
.ix-rmt__more:hover{ color:var(--green-deep); }
.ix-rmt__more svg{ transition:transform 160ms; }
.ix-rmt__more.is-open svg{ transform:rotate(180deg); }
.ix-rmt__panel{ animation:ixrmtIn 180ms ease; }
@keyframes ixrmtIn{ from{ opacity:0; transform:translateY(-4px); } }
.ix-rmt__panel .ix-rmodal__chips{ margin-top:14px; }
.ix-rmt__chips{ margin-top:14px; }
.ix-rmt__panel .ix-credit{ margin-top:16px; }
.ix-rmodal__conf{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:12.5px; color:var(--muted); }
.ix-rmodal__confn{ font-family:'PP Telegraf'; font-weight:700; font-size:16px; color:var(--ink); margin-right:6px; }
.ix-rmodal__acts{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:22px; }
.ix-rmodal__go{ display:inline-flex; align-items:center; gap:8px; border:none; background:var(--green); color:#fff; border-radius:900px; padding:11px 22px; font-family:inherit; font-size:13.5px; font-weight:700; cursor:pointer; transition:background 140ms; }
.ix-rmodal__go:hover{ background:var(--green-deep); }
.ix-rmodal__link{ border:none; background:none; padding:6px 0; font-family:inherit; font-size:13px; font-weight:500; color:var(--muted); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.ix-rmodal__link:hover{ color:var(--ink); }

/* approach options — recommended full-weight, pure options de-emphasised */
.ix-opts{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:20px; }
.ix-opt{ grid-column:span 1; display:flex; align-items:flex-start; gap:10px; text-align:left; padding:11px 14px; border:1px solid var(--line); border-radius:12px; background:var(--paper,#fff); font-family:inherit; cursor:pointer; opacity:.62; transition:opacity 140ms, border-color 140ms, background 140ms; }
.ix-opt--rec{ grid-column:1 / -1; padding:13px 16px; align-items:center; }
.ix-opt.is-rec{ opacity:1; }
.ix-opt:hover:not(.is-locked){ opacity:1; border-color:var(--mint-line); }
.ix-opt.is-on{ opacity:1; border-color:var(--green); background:var(--mint); }
.ix-opt.is-locked{ cursor:not-allowed; opacity:.4; }
.ix-opt__dot{ width:15px; height:15px; margin-top:2px; flex:none; border-radius:50%; border:1.5px solid var(--line-strong,#c6cec8); background:#fff; transition:border-color 140ms, box-shadow 140ms; }
.ix-opt.is-on .ix-opt__dot{ border-color:var(--green); border-width:4.5px; }
.ix-opt__body{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.ix-opt__top{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ix-opt__name{ font-size:13.5px; font-weight:700; color:var(--ink); }
.ix-opt--rec .ix-opt__name{ font-size:14.5px; }.ix-opt__badge{ font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green-deep); background:var(--mint); border:1px solid var(--mint-line); border-radius:900px; padding:2px 7px; }
.ix-opt.is-on .ix-opt__badge{ background:#fff; }
.ix-opt__meta{ display:flex; flex-wrap:wrap; gap:0 5px; font-size:12px; color:var(--muted); font-weight:500; }
.ix-opt__meta i{ font-style:normal; white-space:nowrap; }
.ix-opt__meta i + i::before{ content:"· "; }
.ix-opt__flag{ font-size:11.5px; color:var(--amber-deep,#8a6a12); font-weight:600; }
.ix-opt__warn{ position:relative; display:inline-flex; color:#b8860b; cursor:help; }
.ix-opt__warn::after{ content:attr(data-tip); position:absolute; z-index:50; bottom:calc(100% + 7px); left:50%; transform:translateX(-50%); width:max-content; max-width:220px; padding:6px 9px; border-radius:8px; background:var(--ink,#050301); color:#fff; font-size:11.5px; font-weight:600; line-height:1.35; opacity:0; visibility:hidden; transition:opacity 120ms; pointer-events:none; }
.ix-opt__warn:hover::after,.ix-opt__warn:focus-visible::after{ opacity:1; visibility:visible; }
.ix-opt__mix{ width:50%; flex:none; margin-left:auto; display:flex; flex-direction:column; gap:5px; padding-left:21px; border-left:1px solid var(--mint-line); cursor:default; }
.ix-opt__mixtop{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.ix-opt__mixk{ font-size:11.5px; font-weight:700; color:var(--ink); }
.ix-opt__mixv{ font-size:11.5px; font-weight:600; color:var(--green-deep); }
.ixd-slider--sm{ height:16px; }
.ix-opt__reset{ align-self:flex-start; border:none; background:none; padding:1px 0; font-family:inherit; font-size:11.5px; font-weight:600; color:var(--muted); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.ix-opt__reset:hover{ color:var(--green-deep); }

/* editable approach chips */
.ix-chipsel{ position:relative; display:inline-flex; }
.ix-chipsel__btn{ cursor:pointer; font-family:inherit; }
.ix-chipsel__btn:hover{ filter:brightness(.97); }
.ix-chipsel__btn.is-open{ box-shadow:0 0 0 3px rgba(16,124,65,.14); }
.ix-chipsel__car{ opacity:.6; margin-left:1px; }
.ix-chipsel__menu{ position:absolute; z-index:40; top:calc(100% + 6px); left:0; min-width:196px; display:flex; flex-direction:column; padding:5px; background:var(--paper,#fff); border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 32px rgba(20,28,24,.14); }
.ix-chipsel__opt{ display:flex; flex-direction:column; gap:1px; align-items:flex-start; text-align:left; padding:7px 10px; border:none; border-radius:8px; background:transparent; cursor:pointer; font-family:inherit; }
.ix-chipsel__opt:hover{ background:var(--mint); }
.ix-chipsel__opt.on{ background:var(--mint); }
.ix-chipsel__optt{ font-size:12.5px; font-weight:700; color:var(--ink); }
.ix-chipsel__opt.on .ix-chipsel__optt{ color:var(--green-deep); }
.ix-chipsel__opts{ font-size:11px; color:var(--muted); font-weight:500; }

/* ===== research-depth packages — three columns, one row ===== */
.ix-rmodal__const{ font-size:12.5px; line-height:1.5; color:var(--muted); margin:-6px 0 16px; }
.ix-tiers{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:stretch; }
.ix-tier{ display:flex; flex-direction:column; gap:6px; text-align:left; min-width:0; padding:14px 14px 13px; border:1px solid var(--line); border-radius:14px; background:var(--paper,#fff); cursor:pointer; transition:border-color 140ms, background 140ms, box-shadow 140ms; }
.ix-tier:hover{ border-color:var(--line-strong,#c6cec8); }
.ix-tier.is-on{ border-color:var(--green); background:var(--mint); box-shadow:0 0 0 1px var(--green); }
.ix-tier__top{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.ix-tier__dot{ width:14px; height:14px; flex:none; border-radius:50%; border:1.5px solid var(--line-strong,#c6cec8); background:#fff; transition:border-color 140ms, border-width 140ms; }
.ix-tier.is-on .ix-tier__dot{ border-color:var(--green); border-width:4.5px; }
.ix-tier__name{ font-size:14px; font-weight:700; color:var(--ink); letter-spacing:-.01em; }
.ix-tier__badge{ font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-deep); background:var(--mint); border:1px solid var(--mint-line); border-radius:900px; padding:2px 6px; }
.ix-tier.is-on .ix-tier__badge{ background:#fff; }
.ix-tier__jtbd{ font-size:13px; line-height:1.4; color:var(--ink); font-weight:600; }
.ix-tier__eg{ font-size:11.5px; line-height:1.45; color:var(--muted); }
.ix-tier__rows{ display:flex; flex-direction:column; gap:0; margin-top:auto; padding-top:11px; border-top:1px solid var(--line); }
.ix-tier.is-on .ix-tier__rows{ border-top-color:var(--mint-line); }
.ix-tier__row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 8px; padding:3px 0; font-size:11.5px; min-width:0; }
.ix-tier__row>span{ color:var(--muted); flex:none; }
.ix-tier__row>b{ font-weight:600; color:var(--ink); text-align:right; line-height:1.35; margin-left:auto; min-width:0; overflow-wrap:anywhere; }
.ix-tier__row--cr{ position:relative; margin-top:3px; padding-top:7px; border-top:1px dashed var(--line); cursor:help; }
.ix-tier.is-on .ix-tier__row--cr{ border-top-color:var(--mint-line); }
.ix-tier__row--cr>b{ font-size:14px; font-weight:700; }
.ix-tier__warn{ display:inline-flex; vertical-align:-1px; margin-left:4px; color:#b8860b; }
.ix-tier__row--cr::after{ content:attr(data-tip); position:absolute; z-index:60; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:max-content; max-width:230px; padding:7px 10px; border-radius:8px; background:var(--ink); color:#fff; font-size:11px; font-weight:500; line-height:1.45; text-align:center; opacity:0; visibility:hidden; transition:opacity 120ms; pointer-events:none; }
.ix-tier__row--cr:hover::after,.ix-tier__row--cr:focus-visible::after{ opacity:1; visibility:visible; }
.ix-tiers__note{ margin-top:12px; padding:10px 13px; border-radius:10px; background:var(--line2); font-size:12px; line-height:1.5; color:var(--muted); }

/* ===== research depth: composer dial + tab row over the intake ===== */
.ix-dp{ position:relative; display:inline-flex; }
.ix-dp__btn{ display:inline-flex; align-items:center; gap:6px; height:30px; white-space:nowrap; min-width:0; flex:none; padding:0 11px; border:1px solid var(--line); border-radius:900px; background:var(--paper,#fff); font-family:inherit; font-size:12px; font-weight:600; color:var(--ink); cursor:pointer; transition:border-color 140ms, background 140ms; }
.ix-dp__btn:hover,.ix-dp__btn.is-open{ border-color:var(--green); background:var(--mint); }
.ix-dp__lock{ display:inline-flex; color:var(--green-deep); }
.ix-dp__menu{ position:absolute; top:calc(100% + 8px); left:0; z-index:60; width:min(432px,calc(100vw - 32px)); max-width:432px; display:flex; flex-direction:column; padding:8px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 18px 44px rgba(15,26,18,.18); }
.ix-dp__h{ padding:6px 8px 8px; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.ix-dp__opt{ display:flex; align-items:flex-start; gap:10px; text-align:left; padding:9px 10px; border:1px solid transparent; border-radius:10px; background:none; font-family:inherit; cursor:pointer; }
.ix-dp__opt:hover:not(.is-off){ background:var(--line2); }
.ix-dp__opt.on{ border-color:var(--green); background:var(--mint); }
.ix-dp__opt.is-off{ cursor:not-allowed; opacity:.4; }
.ix-dp__ico{ display:inline-flex; flex:none; margin-top:4px; }
.ix-meter{ display:inline-flex; align-items:center; gap:3px; flex:none; }
.ix-meter>i{ width:7px; height:7px; border-radius:50%; background:none; box-shadow:inset 0 0 0 1.5px var(--line-strong,#c6cec8); }
.ix-meter>i.is-on{ background:var(--green); box-shadow:none; }
.ix-dp__opt.on .ix-meter>i{ box-shadow:inset 0 0 0 1.5px var(--green); }
.ix-dp__opt.on .ix-meter>i.is-on{ box-shadow:none; }
.ix-ttab .ix-meter{ margin-right:1px; }
.ix-dp__opt.on .ix-dp__ico{ color:var(--green-deep); }
.ix-dp__txt{ display:flex; flex-direction:column; gap:1px; min-width:0; flex:1; }
.ix-dp__when{ flex:none; margin-top:1px; padding:4px 9px; border-radius:900px; background:var(--line2); border:1px solid var(--line); font-size:11.5px; font-weight:400; color:var(--ink); white-space:nowrap; }
.ix-dp__lab{ font-size:13px; font-weight:600; color:var(--ink); }
.ix-dp__use{ font-size:12px; line-height:1.4; color:var(--ink); opacity:.7; }
.ix-dp__meta{ font-size:11.5px; color:var(--muted); }
.ix-dp__div{ height:1px; margin:7px 4px; background:var(--line); }
.ix-dp__conf{ display:flex; align-items:flex-start; gap:10px; text-align:left; padding:9px 10px; border:none; border-radius:10px; background:none; font-family:inherit; cursor:pointer; }
.ix-dp__conf:hover{ background:var(--line2); }
.ix-dp__conf b{ display:block; font-size:12.5px; font-weight:600; color:var(--ink); }
.ix-dp__conf i{ display:block; margin-top:2px; font-style:normal; font-size:11.5px; line-height:1.45; color:var(--muted); }
.ix-dp__track{ width:30px; height:18px; flex:none; margin-top:1px; border-radius:900px; background:var(--line-strong,#c6cec8); position:relative; transition:background 160ms; }
.ix-dp__conf.on .ix-dp__track{ background:var(--green); }
.ix-dp__thumb{ position:absolute; top:2px; left:2px; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform 160ms; }
.ix-dp__conf.on .ix-dp__thumb{ transform:translateX(12px); }

.ix-ttabs{ margin:0; }
.ix-depthjoin{ margin-bottom:-16px; }
.ix-ttabs__row{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; align-items:stretch; border-bottom:1px solid var(--line); }
.ix-ttab{ display:flex; flex-direction:column; gap:5px; min-width:0; text-align:left; padding:13px 15px 13px; border:1px solid transparent; border-bottom:none; border-radius:12px 12px 0 0; background:none; font-family:inherit; cursor:pointer; position:relative; top:1px; transition:background 140ms, border-color 140ms; }
.ix-ttab:hover:not(.is-on){ background:var(--line2); }
.ix-ttab.is-on{ border-color:var(--line); background:var(--paper,#fff); }
.ix-ttab.is-on::after{ content:""; position:absolute; left:1px; right:1px; bottom:-1px; height:2px; background:var(--paper,#fff); }
.ix-ttab__top{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.ix-ttab__lab{ font-size:13.5px; font-weight:700; color:var(--muted); letter-spacing:-.01em; transition:color 140ms; }
.ix-ttab.is-on .ix-ttab__lab{ color:var(--ink); }
.ix-ttab__slot{ display:flex; align-items:center; min-height:17px; }
.ix-ttab__badge{ align-self:flex-start; font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-deep); background:var(--mint); border:1px solid var(--mint-line); border-radius:900px; padding:2px 6px; }
.ix-ttab__rows{ display:flex; flex-direction:column; margin-top:auto; padding-top:9px; }
.ix-ttab__row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 8px; padding:2.5px 0; font-size:11.5px; min-width:0; }
.ix-ttab__row>span{ color:var(--muted); flex:none; }
.ix-ttab__row>b{ font-weight:600; color:var(--ink); text-align:right; margin-left:auto; min-width:0; overflow-wrap:anywhere; }
.ix-ttab__row--cr{ position:relative; margin-top:3px; padding-top:7px; border-top:1px dashed var(--line); cursor:help; }
.ix-ttab__row--cr>b{ font-size:14px; font-weight:700; }
.ix-ttab__row--cr::after{ content:attr(data-tip); position:absolute; z-index:60; bottom:calc(100% + 8px); right:0; width:max-content; max-width:240px; padding:7px 10px; border-radius:8px; background:var(--ink); color:#fff; font-size:11px; font-weight:500; line-height:1.45; text-align:left; opacity:0; visibility:hidden; transition:opacity 120ms; pointer-events:none; }
.ix-ttab__row--cr:hover::after,.ix-ttab__row--cr:focus-visible::after{ opacity:1; visibility:visible; }
.ix-ttab__row--tip{ position:relative; cursor:help; }
.ix-ttab__row--tip::after{ content:attr(data-tip); position:absolute; z-index:60; bottom:calc(100% + 8px); right:0; width:max-content; max-width:240px; padding:7px 10px; border-radius:8px; background:var(--ink); color:#fff; font-size:11px; font-weight:500; line-height:1.45; text-align:left; opacity:0; visibility:hidden; transition:opacity 120ms; pointer-events:none; }
.ix-ttab__row--tip:hover::after,.ix-ttab__row--tip:focus-visible::after{ opacity:1; visibility:visible; }
.ix-ttabs__note{ display:flex; flex-direction:column; gap:2px; padding:11px 2px 0; font-size:12px; line-height:1.5; color:var(--muted); text-wrap:pretty; }
.ix-ttabs__note b{ font-weight:600; color:var(--ink); }

/* granularity this depth can't fund — shown, not hidden */
.ix-ghost{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; padding:10px 13px; border:1px dashed var(--line-strong,#c6cec8); border-radius:10px; background:repeating-linear-gradient(135deg,transparent,transparent 6px,rgba(15,26,18,.022) 6px,rgba(15,26,18,.022) 12px); }
.ix-ghost__l{ font-size:12.5px; font-weight:600; color:var(--muted); opacity:.75; }
.ix-ghost__u{ font-size:11px; font-weight:600; letter-spacing:.02em; color:var(--green-deep); white-space:nowrap; }

/* switching depth: flash what gained or lost resolution */
.ix-tswap{ animation:ixTswap 620ms ease backwards; }
@keyframes ixTswap{ 0%{ opacity:.35; transform:translateY(4px); } 100%{ opacity:1; transform:none; } }
.ix-tswap .ix-ghost{ animation:ixGhostIn 700ms ease backwards; }
@keyframes ixGhostIn{ 0%,25%{ border-color:var(--green); background:var(--mint); } 100%{ } }

/* audience: three counts as the summary, panels on demand */
.ix-acount{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ix-acount__b{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; padding:11px 13px; border:1px solid var(--line); border-radius:11px; background:var(--paper,#fff); font-family:inherit; cursor:pointer; transition:border-color 140ms, background 140ms, box-shadow 140ms; }
.ix-acount__b:hover{ border-color:var(--line-strong,#c6cec8); }
.ix-acount__b.is-on{ border-color:var(--green); background:var(--mint); box-shadow:0 0 0 1px var(--green); }
.ix-acount__n{ font-size:22px; font-weight:700; line-height:1.05; color:var(--ink); letter-spacing:-.02em; }
.ix-acount__l{ font-size:11.5px; line-height:1.35; color:var(--muted); text-align:left; }
.ix-apane{ margin-top:16px; animation:ixPaneIn 260ms ease backwards; }
/* Screeners and critical questions read as one list of decisions. The card grows
   to fit them and the page scrolls — a scrollport inside a card hides its length. */
.ix-apane--scroll{ max-height:none; overflow:visible; }
@keyframes ixPaneIn{ from{ opacity:0; transform:translateY(-3px); } }

.ix-ghost.is-restorable{ border-style:solid; border-color:var(--line); background:none; }
.ix-ghost__r{ flex:none; padding:3px 9px; border:1px solid var(--line); border-radius:900px; background:var(--paper,#fff); font-family:inherit; font-size:11px; font-weight:600; color:var(--ink); white-space:nowrap; cursor:pointer; transition:border-color 140ms, background 140ms; }
.ix-ghost__r:hover{ border-color:var(--green); background:var(--mint); color:var(--green-deep); }

/* audience joins the depth tabs above it — one surface, no seam */
.ix-sec--joined{ border-top-left-radius:0; border-top-right-radius:0; border-top:none; padding-top:20px; }

.ix-shrow--bare{ justify-content:space-between; align-items:center; margin-bottom:8px; }
/* product image upload — pending thumbs in the composer, strip in the Product questions card */
.ix-composer__box.is-drag{ position:relative; outline:2px dashed var(--green); outline-offset:2px; }
.ix-dropnote{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.86); font-size:12.5px; font-weight:600; color:var(--green-deep); border-radius:inherit; pointer-events:none; z-index:2; }
.ix-pendimgs{ position:relative; display:flex; flex-wrap:wrap; gap:6px; padding:8px 0; overflow:hidden; }
.ix-pendimgs.is-scanning .ix-pendimg{ animation:ixpulse 1.5s ease-in-out; }
@keyframes ixpulse{ 0%,100%{ box-shadow:none } 45%{ box-shadow:0 0 0 2px rgba(58,133,24,.35) } }
.ix-scanline{ position:absolute; top:8px; bottom:8px; width:38px; pointer-events:none;
  background:linear-gradient(90deg,rgba(58,133,24,0) 0%,rgba(58,133,24,.22) 50%,rgba(58,133,24,0) 100%);
  animation:ixscan 1.5s linear; }
@keyframes ixscan{ from{ transform:translateX(-40px) } to{ transform:translateX(100%) } }
.ix-imgread{ position:relative; z-index:1; display:flex; align-items:center; gap:7px; margin:8px 0 36px; font-size:12px; line-height:1.5; color:var(--muted); }
.ix-imgread__t b{ color:var(--ink); font-weight:600; }
.ix-imgread.is-scanning .ix-imgread__t{ color:var(--green-deep); }
.ix-atile.is-out{ opacity:0; transform:scale(.94); pointer-events:none; }
.ix-atile{ transition:opacity .38s ease, transform .38s ease; }
.ix-pendimg{ position:relative; width:44px; height:44px; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; flex:0 0 auto; }
.ix-pendimg img{ width:100%; height:100%; object-fit:cover; display:block; }
.ix-pendimg__x{ position:absolute; top:1px; right:1px; width:15px; height:15px; display:flex; align-items:center; justify-content:center; border:0; border-radius:900px; background:rgba(5,3,1,.62); color:#fff; font-size:11px; line-height:1; cursor:pointer; padding:0; }
.ix-pstrip{ margin:0 0 14px; }
.ix-pstrip__t{ font-size:11.5px; color:var(--muted); margin-bottom:7px; }
.ix-pstrip__row{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.ix-pthumb{ width:46px; height:46px; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; flex:0 0 auto; }
.ix-pthumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ix-pmore{ height:46px; display:flex; align-items:center; padding:0 10px; border:1px solid var(--line); border-radius:8px; font-size:11.5px; color:var(--muted); background:#fff; }.ix-shrow--sp{ margin-top:22px; }
.ix-shrow__h{ display:flex; align-items:center; gap:7px; font-size:13.5px; font-weight:700; letter-spacing:-.01em; color:var(--ink); }
.ix-shrow__h>i{ font-style:normal; font-size:10.5px; font-weight:600; color:var(--muted); background:#f2f6fa; border-radius:900px; padding:1px 6px; }

.ix-dp__btnwhen{ margin-left:1px; padding:2px 7px; border-radius:900px; background:var(--line2); font-size:11px; font-weight:400; color:var(--ink); }
.ix-dp__btn.is-open .ix-dp__btnwhen,.ix-dp__btn:hover .ix-dp__btnwhen{ background:#fff; }

/* ===== staged thinking: the intake reveals as the work completes ===== */
/* one shimmer primitive for every not-yet-known value */
.ix-skb{ display:block; width:100%; max-width:62px; height:11px; border-radius:900px; background:linear-gradient(90deg,var(--line2) 0%,var(--line) 38%,var(--line2) 76%); background-size:220% 100%; animation:ixShim 1.5s ease-in-out infinite; }
.ix-skb--n{ max-width:38px; height:20px; border-radius:6px; margin-bottom:2px; }
@keyframes ixShim{ 0%{ background-position:120% 0; } 100%{ background-position:-120% 0; } }
.ix-ttab__row>b.ix-skb{ margin-left:auto; }
/* unknowable: the row shows its shape, muted, and refuses input */
.ix-ttabs.is-wait .ix-ttab{ cursor:default; }
.ix-ttabs.is-wait .ix-ttab__lab,.ix-ttabs.is-wait .ix-meter{ opacity:.5; }
.ix-ttabs.is-wait .ix-ttab.is-on{ background:none; border-color:transparent; }
.ix-ttabs.is-wait .ix-ttab.is-on::after{ display:none; }
/* thinking: the active tab commits, and each value lands as it resolves */
.ix-ttabs.is-thinking .ix-ttab__row>b:not(.ix-skb){ animation:ixLand 420ms ease backwards; }
@keyframes ixLand{ from{ opacity:0; transform:translateY(3px); } }
.ix-acount.is-wait .ix-acount__b{ cursor:default; }
.ix-acount.is-wait .ix-acount__b.is-on{ background:var(--paper,#fff); border-color:var(--line); box-shadow:none; }
.ix-acount.is-wait .ix-acount__l{ opacity:.55; }

.ix-composer__row>.ix-iconbtn,.ix-composer__row>.ix-send,.ix-composer__row>.ix-stopbtn{ flex:none; }

/* bottom-pinned intake composer: the menu opens upward, spanning the row */
.ix-composer__row{ position:relative; }
.ix-dp--row{ position:static; }
.ix-dp__menu--up{ top:auto; bottom:calc(100% + 8px); left:0; right:0; width:auto; max-width:none; }

/* ===== study-design rationale (see Framework.jsx for the copy) ===== */
.ix-whybtn{ display:inline-flex; align-items:center; gap:5px; padding:4px 10px 4px 8px; border:1px solid var(--line); border-radius:900px; background:var(--paper,#fff); font-family:inherit; font-size:11.5px; font-weight:600; color:var(--muted); cursor:pointer; transition:color 140ms, border-color 140ms, background 140ms; }
.ix-whybtn:hover{ color:var(--ink); border-color:var(--line-strong,#c6cec8); }
.ix-whybtn.is-on{ color:var(--green-deep); border-color:var(--mint-line); background:var(--mint); }
/* The hypothesis is the reason a row is there, not something you read on every
   pass — so the row shows the label and holds the sentence on hover. Same 19px
   gutter as the row name, its options and its value chips. */
.ix-whytip{ display:inline-flex; align-items:center; gap:4px; margin:5px 0 0 19px; padding:0; border:0; background:none; font-family:inherit; font-size:11px; font-weight:600; letter-spacing:.01em; color:var(--muted); cursor:pointer; }
.ix-whytip:hover,.ix-whytip[aria-expanded="true"]{ color:var(--green-deep); }
.ix-why{ margin:6px 19px 0; padding:10px 12px; border-radius:11px; border:1px solid var(--mint-line); background:var(--mint); font-size:12px; line-height:1.55; color:var(--ink); text-wrap:pretty; animation:ixWhyIn 200ms ease backwards; }
.ix-why b{ font-weight:600; color:var(--ink); }
@keyframes ixWhyIn{ from{ opacity:0; transform:translateY(-2px); } }
/* role: the reason a profile is in the study at all — always visible */
.ix-why--prof{ margin-top:1px; }
.ix-role{ flex:none; margin-left:auto; padding:2px 7px; border:1px solid currentColor; border-radius:900px; font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; cursor:help; }
.ix-prof__x{ margin-left:6px; }
/* exclusions — anyone can add fields; only an expert defends not adding one */
.ix-excl{ margin-top:14px; padding:13px 15px; border:1px dashed var(--line-strong,#c6cec8); border-radius:11px; animation:ixWhyIn 260ms ease backwards; }
.ix-excl__h{ font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:9px; }
.ix-excl__i{ display:flex; flex-direction:column; gap:2px; padding:7px 0; border-top:1px solid var(--line); }
.ix-excl__i:first-of-type{ border-top:none; padding-top:0; }
.ix-excl__i b{ font-size:12px; font-weight:600; color:var(--ink); }
.ix-excl__i span{ font-size:11.5px; line-height:1.5; color:var(--muted); }
/* the trade you accepted by leaving the suggested depth */
.ix-trade{ margin:12px 0 0; padding:10px 13px; border-radius:10px; background:var(--line2); font-size:12px; line-height:1.5; color:var(--ink); }
.ix-trade.is-up{ background:var(--mint); }
/* forwardable artifact */
.ix-ratbtn{ display:flex; align-items:center; gap:7px; width:100%; margin-top:16px; padding:11px 14px; border:1px solid var(--line); border-radius:11px; background:var(--paper,#fff); font-family:inherit; font-size:12.5px; font-weight:600; color:var(--ink); cursor:pointer; transition:border-color 140ms, background 140ms; }
.ix-ratbtn:hover{ border-color:var(--green); background:var(--mint); color:var(--green-deep); }
.ix-ratmodal{ width:min(680px,calc(100vw - 48px)); max-height:82vh; display:flex; flex-direction:column; border-radius:16px; background:#fff; box-shadow:0 30px 80px rgba(15,26,18,.28); overflow:hidden; animation:ixrmPop 260ms ease backwards; }
.ix-ratmodal__hd{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 18px; border-bottom:1px solid var(--line); }
.ix-ratmodal__ey{ font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--green-deep); }
.ix-ratmodal__acts{ display:flex; align-items:center; gap:8px; }
.ix-ratmodal__copy{ padding:6px 14px; border:1px solid var(--green); border-radius:900px; background:var(--mint); font-family:inherit; font-size:12px; font-weight:600; color:var(--green-deep); cursor:pointer; }
.ix-ratmodal__copy:hover{ background:var(--green); color:#fff; }
.ix-ratmodal__x{ display:inline-flex; padding:5px; border:none; border-radius:8px; background:none; color:var(--muted); cursor:pointer; }
.ix-ratmodal__x:hover{ background:var(--line2); color:var(--ink); }
.ix-ratmodal__body{ margin:0; padding:18px 20px 22px; overflow:auto; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11.5px; line-height:1.65; color:var(--ink); white-space:pre-wrap; }

/* Guard: entrance animations must never leave a transform behind — a lingering
   one turns the element into a containing block for position:fixed overlays. */

/* provenance: how much history stands behind each group */
.ix-cov{ display:flex; flex-direction:column; gap:2px; margin-top:8px; padding-top:8px; border-top:1px dashed var(--line); }
.ix-cov__tag{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; letter-spacing:.01em; }
.ix-cov__dot{ width:6px; height:6px; border-radius:50%; flex:none; }
.ix-cov__line{ font-size:11.5px; line-height:1.5; color:var(--muted); text-wrap:pretty; }
.ix-ttab__row--tip{ cursor:help; }

.ix-zitem__qtext{font-size:13px;font-weight:600;color:var(--ink,#050301);margin:5px 0 0 19px;cursor:text}
.ix-zitem__qtext:hover{background:var(--line2,#f0f2f0);border-radius:5px}
.ix-zitem__qinput{font:inherit;font-size:13px;font-weight:600;color:var(--ink,#050301);margin:5px 0 0 19px;border:1px solid var(--line-strong,#c6cec8);border-radius:5px;padding:2px 5px;width:calc(100% - 24px)}
.ix-minichip{cursor:text}
.ix-minichip--edit{font:inherit;font-size:13px;border:1px solid var(--line-strong,#c6cec8);height:27px;padding:0 10px;border-radius:8px;background:#fff;width:auto;min-width:60px}
.ix-zitem__qhint{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink3,#8a938e);margin:4px 0 0 19px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}
.ix-zitem__qhint:hover{color:var(--ink,#050301)}
.ix-zitem__care{transition:transform .15s ease}
.ix-zitem__care.on{transform:rotate(90deg)}
.ix-zitem__qbody{margin-top:2px}
