/* THE CONSULTING ROOM — bixso.ai/portal (update Version 1, mockup-approved 30/07/2026).
   BIXSO design language: Heritage Teal, squared, editorial. Chat is the centre;
   two symmetric wings (Hồ sơ trái · Advisor Dock phải) open by default. */

.room{height:calc(100vh - 74px);min-height:540px;display:flex;flex-direction:column;background:#fff;color:var(--tint);}
.room *{box-sizing:border-box;}

/* ── journey bar — 5 stations ── */
.journey{display:flex;align-items:stretch;border-bottom:1px solid var(--hair);background:linear-gradient(180deg,#FCFDFD,var(--paper-2));padding:0 8px;flex:0 0 auto;}
.jst{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 8px;position:relative;transition:all .5s var(--ease);min-width:0;overflow:hidden;}
.jst + .jst::before{content:'';position:absolute;left:-13px;top:50%;width:26px;height:1.5px;background:var(--hair);transition:background .5s;}
.jst.done + .jst::before,.jst.now::before{background:var(--teal);}
.jst__n{width:29px;height:29px;flex:0 0 auto;display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700;border:1.5px solid var(--hair);color:var(--faint);background:#fff;transition:all .5s var(--ease);}
.jst.done .jst__n{background:var(--teal);border-color:var(--teal);color:#fff;}
.jst.now .jst__n{border-color:var(--teal-deep);color:var(--teal-deep);box-shadow:0 0 0 4px rgba(0,166,166,.16);animation:jpulse 2s infinite;font-weight:800;}
@keyframes jpulse{50%{box-shadow:0 0 0 7px rgba(0,166,166,.06)}}
.jst__x{min-width:0;overflow:hidden;}
.jst__t{font-size:12.5px;font-weight:800;letter-spacing:-.01em;color:var(--faint);white-space:nowrap;transition:color .4s;}
.jst__d{font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85;}
.jst.done .jst__t{color:var(--tint);}
.jst.now .jst__t,.jst.now .jst__d{color:var(--teal-deep);}
.jst .tip{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--tint);color:#fff;font-size:11.5px;padding:8px 12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s;z-index:40;}
.jst:hover .tip{opacity:1;}

/* ceremony toast */
.cere{position:absolute;left:50%;top:130px;transform:translateX(-50%) translateY(-10px);background:var(--tint);color:#fff;padding:11px 20px;font-size:13.5px;display:flex;gap:10px;align-items:center;opacity:0;pointer-events:none;transition:all .5s var(--ease);z-index:45;box-shadow:0 18px 40px -12px rgba(0,0,0,.4);}
.cere.go{opacity:1;transform:translateX(-50%) translateY(0);}
.cere i{color:#7fd4d4;font-style:normal;}

/* ── zones ── */
.rzone{flex:1;display:flex;min-height:0;position:relative;}

/* left wing — Hồ sơ (open by default, symmetric with dock) */
.wing{width:242px;flex:0 0 auto;border-right:1px solid var(--hair);background:var(--paper-2);padding:14px 12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;}
.wing h4,.dock h4{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding:2px 2px;margin:0;}
.wrow{border:1px solid var(--hair);background:#fff;padding:10px 12px;font-size:12.5px;cursor:pointer;color:var(--tint);transition:border-color .2s;}
.wrow:hover{border-color:var(--teal);}
.wrow.cur{border-left:3px solid var(--teal);background:var(--teal-tint);}
.wrow span{display:block;font-family:var(--mono);font-size:9px;color:var(--faint);margin-top:3px;}
.wrow .wact{float:right;color:var(--faint);font-size:12px;border:0;background:none;cursor:pointer;padding:0 2px;}
.wrow .wact:hover{color:var(--teal-deep);}
.wnew{border:1px dashed var(--teal);color:var(--teal-deep);padding:10px;text-align:center;font-size:12.5px;font-weight:650;cursor:pointer;background:none;}
.wnew:hover{background:var(--teal-tint);}
.wdrop{border:1px dashed var(--hair);color:var(--faint);padding:12px;text-align:center;font-family:var(--mono);font-size:10px;cursor:pointer;transition:all .2s;}
.wdrop:hover,.wdrop.over{border-color:var(--teal);color:var(--teal-deep);background:var(--teal-tint);}

/* chat centre — the hero */
.cchat{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;}
.cthread{flex:1;overflow-y:auto;padding:24px 30px;display:flex;flex-direction:column;gap:13px;scroll-behavior:smooth;}
.cm{max-width:74%;padding:12px 16px;font-size:14.5px;line-height:1.62;white-space:pre-wrap;word-wrap:break-word;}
.cm--u{align-self:flex-end;background:var(--paper-2);border-right:3px solid var(--ink-700);}
.cm--a{align-self:flex-start;background:var(--teal-tint);border-left:3px solid var(--teal);}
.cm--pend{opacity:.55;}
.cmeta{font-family:var(--mono);font-size:9.5px;color:var(--faint);margin-top:6px;letter-spacing:.04em;}

/* inline artifacts — documents on the desk */
.art{align-self:stretch;max-width:660px;margin-right:auto;border:1px solid var(--hair);background:#fff;box-shadow:0 10px 30px -18px rgba(10,40,44,.25);}
.art__head{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--hair);background:var(--paper-2);font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);}
.art__body{padding:13px 16px;font-size:12.5px;color:var(--soft);line-height:1.65;}
.art__body b{color:var(--tint);}
.art--receipt .tick{color:var(--teal-deep);font-weight:700;margin-right:4px;}
.art--doc{border-left:4px solid var(--teal-deep);}
.art--doc .art__body{white-space:pre-wrap;color:var(--tint);font-size:13.5px;}
.art--doc .seal{float:right;font-family:var(--mono);font-size:8.5px;border:1.5px solid var(--teal-deep);color:var(--teal-deep);padding:4px 8px;letter-spacing:.08em;transform:rotate(3deg);margin:0 0 6px 10px;}
.art--dia .art__body{padding:10px;}
.art--dia svg{display:block;width:100%;height:auto;}
.art--team .art__body{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;}
.art--team .tstate{font-family:var(--mono);font-size:10px;padding:5px 10px;border:1px solid var(--teal);color:var(--teal-deep);background:var(--teal-tint);}

.ctyping{align-self:flex-start;display:flex;gap:5px;padding:13px 15px;background:var(--teal-tint);border-left:3px solid var(--teal);}
.ctyping i{width:6px;height:6px;background:var(--teal-deep);animation:tk 1.2s infinite;}
.ctyping i:nth-child(2){animation-delay:.2s}.ctyping i:nth-child(3){animation-delay:.4s}
@keyframes tk{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cnotice{align-self:center;font-family:var(--mono);font-size:11px;color:var(--faint);text-align:center;padding:7px 13px;border:1px dashed var(--hair);max-width:88%;}
.cnotice a{color:var(--teal-deep);}

.cquick{display:flex;gap:8px;padding:0 30px 10px;flex-wrap:wrap;}
.qk{font-size:13px;padding:8px 14px;border:1px solid var(--teal);color:var(--teal-deep);background:#fff;cursor:pointer;font-family:var(--sans);}
.qk:hover{background:var(--teal-tint);}
.catts{display:flex;gap:6px;padding:0 30px 8px;flex-wrap:wrap;}
.catt{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;padding:5px 9px;border:1px solid var(--hair);background:var(--paper-2);color:var(--tint);}
.catt button{border:0;background:none;cursor:pointer;color:var(--faint);font-size:12px;padding:0;}

.cform{display:flex;border-top:1px solid var(--hair);flex:0 0 auto;}
.cform .clip{flex:0 0 auto;width:48px;border:0;border-right:1px solid var(--hair);background:#fff;font-size:17px;cursor:pointer;color:var(--ink-700);}
.cform .clip:hover{background:var(--teal-tint);}
.cform textarea{flex:1;border:0;resize:none;padding:15px 16px;font-family:var(--sans);font-size:14.5px;line-height:1.5;max-height:120px;color:var(--tint);outline:none;}
.cform textarea:focus{background:#FAFDFD;}
.cform button[type=submit]{flex:0 0 auto;padding:0 26px;border:0;background:var(--tint);color:#fff;font-family:var(--sans);font-weight:700;font-size:14px;cursor:pointer;}
.cform button[type=submit]:hover{background:var(--teal-deep);}
.cfoot{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;color:var(--faint);padding:7px 30px;border-top:1px solid var(--hair);background:var(--paper-2);flex:0 0 auto;}

/* right wing — Advisor Dock "E" (01/08/2026): one continuous panel, one
   visual grammar, a stable module order that never reorders. No bell, no
   global unread count — a residue dot lives on the module that changed. */
.dock{width:242px;flex:0 0 auto;border-left:1px solid var(--hair);background:#fff;padding:0;display:flex;flex-direction:column;overflow-y:auto;position:relative;}
.e-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px 9px;border-bottom:1px solid var(--hair);position:sticky;top:0;background:#fff;z-index:1;}
.e-h h4{margin:0;font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);}
.e-quiet{border:0;background:none;font-family:var(--mono);font-size:8px;letter-spacing:.04em;color:var(--faint);cursor:pointer;padding:2px;text-align:right;}
.e-quiet:hover{color:var(--teal-deep);text-decoration:underline;}
.e-quiet[aria-pressed="true"]{color:var(--teal-deep);}

.e-mod{padding:12px 13px;border-bottom:1px solid var(--hair);cursor:pointer;}
.e-mod:hover{background:var(--paper-2);}
.e-mod--need{cursor:default;background:var(--teal-tint);}
.e-mod--need:hover{background:var(--teal-tint);}
.e-mod:last-of-type{border-bottom:0;}
.e-mh{display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.e-mt{font-family:var(--mono);font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:var(--soft);}
.e-mt--live{color:var(--teal-deep);}
.e-mn{margin-left:auto;font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--tint);font-variant-numeric:tabular-nums;line-height:1;}
.e-mn s{text-decoration:none;font-size:9px;color:var(--faint);font-weight:400;}

/* residue dot — Tier 1 signal: presence of an unseen change, never a count */
.res{width:5px;height:5px;border-radius:50%;background:var(--teal-deep);flex:0 0 auto;}

.e-r{display:flex;gap:9px;font-size:11.5px;padding:3.5px 0;align-items:baseline;}
.e-k{color:var(--soft);flex:0 0 58px;font-size:10.5px;}
.e-v{color:var(--tint);font-weight:600;flex:1;min-width:0;word-break:break-word;}
.e-v.dim{color:var(--faint);font-weight:400;font-style:normal;}
.e-why{font-family:var(--mono);font-size:8.5px;color:var(--faint);padding:0 0 5px 67px;margin-top:-2px;}

.e-ask{font-size:11.5px;color:var(--tint);line-height:1.45;margin:0 0 3px;}
.e-cue{font-family:var(--mono);font-size:8.5px;color:var(--soft);margin:0 0 8px;}
.e-in{display:flex;gap:5px;}
.e-in input{flex:1;min-width:0;font-family:var(--sans);font-size:11.5px;padding:6px 9px;border:1px solid var(--hair);color:var(--tint);background:#fff;}
.e-in input:focus{outline:none;border-color:var(--teal);}
.e-in button{border:0;background:var(--tint);color:#fff;font-size:11px;padding:0 11px;cursor:pointer;font-family:var(--sans);}
.e-in button:hover{background:var(--teal-deep);}

/* "Chưa tới lượt" — dormant modules stay VISIBLE, never hidden or reordered */
.e-soon{display:flex;align-items:center;gap:7px;padding:5.5px 0;font-size:11px;color:var(--soft);}
.e-soon .ic{stroke:var(--faint);width:11px;height:11px;}
.e-soon b{margin-left:auto;font-family:var(--mono);font-size:8px;color:var(--faint);font-weight:400;text-transform:none;letter-spacing:0;}

.e-act{display:flex;align-items:center;gap:8px;padding:9px 13px;font-size:11.5px;color:var(--teal-deep);cursor:pointer;border-bottom:1px solid var(--hair);}
.e-act:last-child{border-bottom:0;}
.e-act:hover{background:var(--paper-2);}
.e-act .ic{stroke:var(--teal-deep);}
.ic{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;width:14px;height:14px;}

/* motion — 140ms arrival + 360ms settle, background only, never looping.
   A local transient at the changed row is the only signal (change blindness:
   a silent restyle in a 242px panel will not be seen otherwise). */
.pulse{animation:eArrive .14s cubic-bezier(.2,0,0,1) forwards, eSettle .36s cubic-bezier(.05,.7,.1,1) .14s forwards;}
@keyframes eArrive{to{background-color:#D6F0F0;}}
@keyframes eSettle{to{background-color:transparent;}}
/* reduced motion / "tạm ngưng cập nhật": instant colour + slow fade — the
   signal is never deleted, only its animation is (WCAG 2.2.2). */
.pulse-reduced{background-color:#D6F0F0;transition:background-color 1.5s ease .2s;}
@media (prefers-reduced-motion: reduce){
  .pulse{animation:none;background-color:#D6F0F0;transition:background-color 1.5s ease .2s;}
}

/* Consult Map edit affordances */
.maprow{position:relative;padding-right:52px;}
.maprow__val{display:block;}
.mapedit{position:absolute;top:9px;right:0;border:0;background:none;color:var(--teal-deep);font-size:10.5px;cursor:pointer;font-family:var(--mono);padding:2px 4px;}
.mapedit:hover{text-decoration:underline;}
.mapedit__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}

/* dock expand panel (overlay — never squeezes the chat) */
.dpanel{position:absolute;right:242px;top:0;bottom:0;width:320px;background:#fff;border-left:1px solid var(--hair);box-shadow:-18px 0 44px -22px rgba(10,40,44,.3);padding:18px;display:none;flex-direction:column;gap:10px;overflow-y:auto;z-index:30;}
.dpanel.open{display:flex;}
.dpanel h5{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);margin:0;}
.dpanel .dclose{position:absolute;top:10px;right:12px;border:0;background:none;font-size:14px;color:var(--faint);cursor:pointer;}
.maprow{border-bottom:1px solid var(--hair);padding:9px 0;font-size:12.5px;color:var(--tint);}
.maprow b{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:3px;}
.maprow .tick{color:var(--teal-deep);font-weight:700;margin-right:4px;}
.maprow .dim{color:var(--faint);}
.dpanel .art--dia{margin:0;max-width:100%;}

/* BSC modal */
.bscmodal{position:fixed;inset:0;background:rgba(12,41,45,.55);display:none;place-items:center;z-index:80;backdrop-filter:blur(3px);padding:20px;}
.bscmodal.open{display:grid;}
.bsc{width:min(780px,100%);max-height:92vh;overflow-y:auto;background:#fff;border:1px solid var(--hair);box-shadow:0 40px 90px -20px rgba(0,0,0,.5);padding:24px;position:relative;color:var(--tint);}
.bsc h3{font-size:19px;font-weight:800;letter-spacing:-.015em;margin:0;}
.bsc h3 em{font-family:var(--serif);font-style:normal;font-weight:500;color:var(--teal-deep);}
.bsc .sub{font-family:var(--mono);font-size:9.5px;color:var(--soft);letter-spacing:.06em;margin:5px 0 16px;}
.bsc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.bsc__wing{display:flex;flex-direction:column;gap:8px;}
.bsc__wt{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--teal-deep);padding:4px 0;}
.cell{border:1px solid var(--hair);padding:9px 10px;min-height:60px;font-size:11px;line-height:1.5;color:var(--faint);background:var(--paper-2);}
.cell b{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;color:var(--faint);}
.cell.lit{background:var(--teal-tint);border-color:var(--teal);color:var(--tint);}
.cell.lit b{color:var(--teal-deep);}
.bsc__heart{grid-column:1/-1;border:2px solid var(--teal-deep);background:linear-gradient(135deg,var(--teal-tint),#fff);padding:12px 16px;text-align:center;font-size:12.5px;color:var(--tint);}
.bsc__heart b{font-family:var(--serif);font-style:normal;font-weight:500;color:var(--teal-deep);font-size:15px;}
.bsc .bclose{position:absolute;top:12px;right:14px;border:0;background:none;font-size:15px;color:var(--faint);cursor:pointer;}

/* signed-out gate */
.rgate{min-height:0;flex:1;display:grid;place-items:center;padding:30px;overflow-y:auto;background-color:#edf3f2;background-image:linear-gradient(rgba(32,82,83,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(32,82,83,.04) 1px,transparent 1px);background-size:48px 48px;}
.rgatecard{width:min(470px,100%);border:1px solid #b9cac8;border-top:3px solid var(--teal-deep);background:#fff;padding:0;display:flex;flex-direction:column;gap:0;}
.rgatebrand{display:flex;align-items:center;gap:13px;padding:20px 28px;border-bottom:1px solid #d5dfdd;}
.rgatebrand img{width:42px;height:42px;object-fit:contain;transform:translateY(3px) scale(1.82);}
.rgatebrand span{display:flex;flex-direction:column;gap:3px;}
.rgatebrand b{font:700 17px var(--sans);letter-spacing:.17em;color:#173b3d;}
.rgatebrand small{font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#718688;}
.rgateintro{padding:28px 28px 22px;}
.rgateintro>span{display:block;margin-bottom:13px;color:var(--teal-deep);font:8px var(--mono);letter-spacing:.16em;}
.rgatecard h3{font-family:var(--serif);font-size:30px;line-height:1.13;font-weight:500;letter-spacing:-.02em;color:var(--tint);margin:0;}
.rgatecard h3 em{color:var(--teal-deep);font-style:normal;}
.rgatecard p{margin:16px 0 0;color:var(--soft);font-size:14px;line-height:1.6;}
.rgatecard form{padding:0 28px 28px;}
.rgoogle{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border:1px solid var(--hair);background:#fff;font-size:15px;font-weight:650;color:var(--tint);cursor:pointer;font-family:var(--sans);}
.rgoogle:hover{border-color:var(--teal);}
.rgoogle-note{font-family:var(--mono);font-size:10px!important;line-height:1.55!important;color:var(--faint)!important;text-align:center;letter-spacing:.035em;}
.rswitch{align-self:center;width:100%;border:0;background:none;font-size:13px;color:var(--teal-deep);cursor:pointer;text-decoration:underline;text-align:center;padding:2px 0 0;font-family:var(--sans);}
.rerr{color:#B42318;font-size:13.5px;margin:0;}
.rnote{font-family:var(--mono);font-size:9.5px;color:var(--faint);letter-spacing:.03em;}

/* ── intake — ONE QUESTION PER SCREEN (founder 01/08, "phương án B") ─────────
   No opening tour. The client lands straight in the work, and the room gets
   explained later (see .rvcap below) at the moment it becomes useful.        */
.rintro{flex:1;display:none;}
.rintake{flex:1;display:grid;place-items:center;padding:24px;overflow-y:auto;}
.rintakecard{width:min(580px,100%);border:1px solid var(--hair);background:#fff;
  box-shadow:0 30px 70px -30px rgba(10,40,44,.3);padding:30px 34px 26px;}
/* progress reads by STATION, never by question count — a counter reads as a
   threat to a business owner; it also starts part-filled (endowed progress). */
.ikbar{height:2px;background:var(--hair);margin-bottom:16px;}
.ikbar i{display:block;height:100%;background:var(--teal);transition:width .5s var(--ease);}
.ikstage{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal-deep);margin-bottom:20px;}
.ikq{animation:ikin .34s var(--ease);}
@keyframes ikin{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.ikq__lead{margin:0 0 10px;font-size:13.5px;line-height:1.55;color:var(--soft);}
.ikq__q{margin:0 0 18px;font-size:21px;line-height:1.28;font-weight:700;color:var(--tint);
  letter-spacing:-.015em;}
.ikq__opts{display:flex;flex-wrap:wrap;gap:8px;}
.ikchip{padding:10px 15px;border:1px solid var(--hair);background:#fff;font-size:13.5px;
  color:var(--tint);cursor:pointer;font-family:var(--sans);transition:all .15s;}
.ikchip:hover{border-color:var(--teal);}
.ikchip.on{border-color:var(--teal-deep);background:var(--teal-tint);color:var(--teal-deep);font-weight:700;}
.ikq textarea,.ikq input[type=text]{width:100%;font-family:var(--sans);font-size:15.5px;
  padding:12px 14px;border:1px solid var(--hair);color:var(--tint);resize:vertical;min-height:46px;}
.ikq textarea:focus,.ikq input:focus{outline:none;border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(0,166,166,.12);}
.ikfoot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:12px;}
.ikfoot__l{display:flex;align-items:center;gap:14px;}
.ikback{border:0;background:none;color:var(--faint);font-size:13px;cursor:pointer;font-family:var(--sans);}
.ikq__skip{font-size:12px;color:var(--faint);background:none;border:0;cursor:pointer;
  text-decoration:underline;padding:0;font-family:var(--mono);}
.ikback:hover,.ikq__skip:hover{color:var(--teal-deep);}
.iknext{padding:12px 26px;border:0;background:var(--tint);color:#fff;font-weight:700;font-size:14px;
  cursor:pointer;font-family:var(--sans);}
.iknext:hover{background:var(--teal-deep);}
.ikfoot__note{font-family:var(--mono);font-size:9.5px;color:var(--faint);text-align:center;margin-top:18px;}
.ikquick{text-align:center;margin-top:7px;}
.ikquick button{border:0;background:none;color:var(--faint);font-size:12px;text-decoration:underline;
  cursor:pointer;font-family:var(--sans);}
.ikquick button:hover{color:var(--teal-deep);}

/* ── THE ROOM OPENS (founder 01/08, "phương án C") ───────────────────────────
   Parts arrive one at a time and say what they are for as they land. Runs
   during the seconds the read-back is generating, so the wait IS the reveal. */
.rzone.rv .wing{transform:translateX(-102%);opacity:0;}
.rzone.rv .dock{transform:translateX(102%);opacity:0;}
.rzone.rv.rv1 .wing{transform:none;opacity:1;}
.rzone.rv.rv2 .dock{transform:none;opacity:1;}
.wing,.dock{transition:transform .62s var(--ease),opacity .62s var(--ease);}
.jst.rvlit .jst__n{border-color:var(--teal);color:var(--teal-deep);
  box-shadow:0 0 0 5px rgba(0,166,166,.13);}
.jst.rvlit .jst__t{color:var(--tint);}
.cchat{position:relative;}
.rvcap{position:absolute;inset:0;z-index:20;display:none;align-items:center;justify-content:center;
  padding:30px 44px;background:#fff;}
.rvcap.in{display:flex;animation:rvfade .45s var(--ease);}
/* The caption text lives in ONE inner element on purpose. Putting it straight
   into the flex container turns every text node and every <b> into separate
   flex items, and the whitespace BETWEEN flex items is dropped — which read as
   "the<b>advisor desk</b>" with no space. Caught on production, 01/08. */
.rvcap__t{max-width:44ch;text-align:center;font-size:16.5px;line-height:1.5;color:var(--soft);}
.rvcap__t b{color:var(--tint);font-weight:700;}
@keyframes rvfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* BSC draft badge (01/08/2026) — the client's canvas is a live sketch until
   an engagement makes it final; never let it look like a finished document. */
.bsc__draft{display:inline-block;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;padding:3px 8px;border:1px solid #C48A1E;color:#9A6B12;background:#FFF8E8;margin-left:8px;vertical-align:middle;}
.cell__src{font-family:var(--mono);font-size:9px;margin-right:4px;opacity:.7;}

/* mobile */
.pbar{display:none;border-top:1px solid var(--hair);background:var(--paper-2);flex:0 0 auto;}
.pb{flex:1;text-align:center;padding:11px 4px;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);cursor:pointer;border:0;background:none;border-top:2px solid transparent;}
.pb.on{color:var(--teal-deep);border-top-color:var(--teal);font-weight:700;}
.sheet{display:none;position:fixed;left:0;right:0;bottom:0;top:auto;max-height:70vh;background:#fff;border-top:1px solid var(--hair);box-shadow:0 -24px 60px -20px rgba(10,40,44,.4);padding:14px 16px 22px;z-index:70;overflow-y:auto;flex-direction:column;gap:9px;}
.sheet.open{display:flex;}
.sheet .grab{width:40px;height:4px;background:var(--hair);margin:0 auto 8px;flex:0 0 auto;}

@media (max-width:960px){
  .room{height:calc(100dvh - 74px);}
  .wing,.dock{display:none;}
  .pbar{display:flex;}
  .cm{max-width:88%;}
  .cthread{padding:16px;}
  .cquick,.catts{padding-left:16px;padding-right:16px;}
  .cfoot{display:none;}
  .jst__d{display:none;}
  .jst{gap:7px;padding:10px 4px;}
  .jst__n{width:24px;height:24px;font-size:9.5px;}
  .jst__t{font-size:10.5px;}
  .dpanel{position:fixed;inset:auto 0 0 0;width:auto;max-height:70vh;border-left:0;border-top:1px solid var(--hair);}
  .bsc__grid{grid-template-columns:1fr;}
  .bsc{padding:18px;}
  .itile{padding:20px;flex-direction:column;text-align:center;}
  .irow{padding:14px 20px;}
  .rintakecard{padding:20px;}

  /* ── MOBILE LEGIBILITY & TOUCH FLOOR (08/08/2026) ─────────────────────────
     The micro-typography below 12px is a deliberate desktop design language
     (mono uppercase labels), but on a phone it carries real information —
     canvas cell names, the reason a field is empty, dates — and Vietnamese
     diacritics at 8px are simply not readable. The floor applies ONLY here, so
     the desktop look is untouched.
     Touch targets: WCAG 2.5.8 asks 24px minimum, Apple/Google both say 44px.
     `.wact` measured ~16×14px with the buttons touching each other, in a list
     where the neighbouring row opens a different conversation — a mis-tap did
     not do nothing, it took the client somewhere else. */
  .e-mt,.e-quiet,.e-why,.e-cue,.e-soon b,.cell b,.e-mn s,.jst__d,
  .wing h4,.dock h4,.e-h h4,.maprow b,.bsc__wt,.cell__src,.wrow span,
  .art--doc .seal,.bsc__draft,.cmeta,.art__head,.dpanel h5,.bsc .sub,
  .ror,.rnote,.ikstage,.ikfoot__note,.wdrop,.catt,.mapedit{font-size:12px;}
  .e-r,.e-k,.e-ask,.e-in input,.e-in button,.e-soon,.e-act,.cell,.cnotice,
  .jst .tip,.jst__n,.art--team .tstate{font-size:13px;}

  /* `.wrow .wact` (two classes) outranks a bare `.wact`, so match it — the
     first attempt set 40px boxes with 12px glyphs still inside them. */
  .wrow .wact{min-width:40px;min-height:40px;padding:0 8px;font-size:15px;float:none;}
  .wrow{gap:4px;align-items:center;}
  .dia__zoom,.nb__x{min-width:40px;min-height:40px;}
  .pb{min-height:46px;font-size:11px;letter-spacing:.03em;}
}
@media (prefers-reduced-motion:reduce){.room *{animation:none!important;transition:none!important;}}

/* ── Energy wallet (02/08/2026) — balance first, then how to get more.
   Component-scoped tokens (no bare hex in rules) — the site palette has no
   warn/earn colour, and these two states only exist here. Both are checked
   against the wallet's paper background for WCAG AA body text. */
.wallet{--w-warn:#8A4B12;--w-earn:#0F6B4F;display:flex;flex-direction:column;gap:8px;border:1px solid var(--hair);border-left:3px solid var(--teal);padding:12px;background:var(--mist,#FAFAFA);}
.wallet__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.wallet__big{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--teal-deep);letter-spacing:-.01em;}
.wallet__plan{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);}
.wmeter{height:6px;background:var(--hair);overflow:hidden;}
.wmeter i{display:block;height:100%;background:var(--teal);transition:width .4s var(--ease);}
.wmeter--low i{background:var(--w-warn);}
.wmeter--out i{background:var(--hair-strong,#cfcfcf);}
.wallet__line{font-size:11.5px;color:var(--soft);line-height:1.5;}
.wallet__line--bonus{color:var(--w-earn);font-weight:600;}
.wallet__line--warn{color:var(--w-warn);font-weight:600;}
.wallet__how{margin:2px 0 0;font-size:11px;line-height:1.55;color:var(--faint);border-top:1px dotted var(--hair);padding-top:8px;}
.wnew--buy{border-style:solid;background:var(--teal-tint);}
.wcode{border-top:1px dotted var(--hair);padding-top:8px;}
.wcode summary{cursor:pointer;font-size:11.5px;color:var(--teal-deep);font-weight:600;list-style:none;}
.wcode summary::-webkit-details-marker{display:none;}
.wcode summary::before{content:'+ ';font-family:var(--mono);}
.wcode[open] summary::before{content:'– ';}
.wcode__row{display:flex;gap:6px;margin-top:8px;}
.wcode__in{flex:1;min-width:0;border:1px solid var(--hair-strong,#cfcfcf);padding:7px 9px;font-family:var(--mono);font-size:12px;text-transform:uppercase;background:#fff;color:var(--ink-700);}
.wcode__in:focus{outline:2px solid var(--teal);outline-offset:-1px;}
.wcode__go{border:1px solid var(--teal);background:var(--teal-tint);color:var(--teal-deep);font-size:11.5px;font-weight:650;padding:7px 12px;cursor:pointer;white-space:nowrap;}
.wcode__go:hover{background:var(--teal);color:#fff;}
.wcode__go:disabled{opacity:.55;cursor:progress;}
.wcode__msg{margin-top:6px;font-size:11px;line-height:1.5;min-height:1em;}
.wcode__msg--ok{color:var(--w-earn);font-weight:600;}
.wcode__msg--err{color:var(--w-warn);}
.wref{border-top:1px dotted var(--hair);padding-top:8px;display:flex;flex-direction:column;gap:6px;}
.wref__k{font-size:11.5px;font-weight:650;color:var(--ink-700);}
.wref__k span{font-weight:400;color:var(--w-earn);}
.wref__row{display:flex;gap:6px;align-items:center;}
.wref__row code{flex:1;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;background:var(--paper-2);padding:7px 9px;border:1px dashed var(--hair-strong,#cfcfcf);color:var(--ink-700);}

/* ── Region + language picker (02/08/2026) — shown once, in the opening ── */
.mkpick{align-self:flex-start;max-width:min(100%,560px);border:1px solid var(--hair);border-left:3px solid var(--teal);padding:14px;background:var(--mist,#FAFAFA);display:flex;flex-direction:column;gap:8px;}
.mkpick__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);}
.mkpick__k--sub{margin-top:4px;}
.mkpick__row{display:flex;gap:8px;flex-wrap:wrap;}
.mkopt{flex:1 1 140px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--hair-strong,#cfcfcf);background:#fff;padding:9px 11px;cursor:pointer;text-align:left;transition:all .18s var(--ease);}
.mkopt:hover{border-color:var(--teal);background:var(--teal-tint);}
.mkopt.is-on{border-color:var(--teal-deep);background:var(--teal-tint);box-shadow:inset 0 0 0 1px var(--teal-deep);}
.mkopt__f{font-size:17px;line-height:1;}
.mkopt__l{font-size:12.5px;font-weight:650;color:var(--ink-700);}
.mkopt__c{font-family:var(--mono);font-size:9.5px;color:var(--soft);letter-spacing:.06em;}
.mkopt--lang{flex:1 1 100px;flex-direction:row;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ink-700);padding:8px 10px;}

/* ── Streaming reply (02/08/2026) — the bubble grows as tokens land ── */
.cm--live .cursor{display:inline-block;width:2px;height:1em;margin-left:2px;background:var(--teal-deep);vertical-align:-2px;animation:blink 1s steps(2,start) infinite;}
@keyframes blink{to{visibility:hidden;}}
@media (prefers-reduced-motion:reduce){.cm--live .cursor{animation:none;opacity:.6;}}
.cm--cut .cutnote{display:block;margin-top:6px;font-size:11px;font-style:normal;color:var(--soft);}

/* ══ PREMIUM BSC SOLUTION ROOM — founder-approved 14/08/2026 ═══════════════
   The runtime remains the same; this layer promotes the working conversation,
   the live BSC record and evidence/solution diagrams into the visible product. */
.room-head{height:62px;flex:0 0 auto;padding:0 18px;display:grid;grid-template-columns:255px minmax(220px,1fr) auto;align-items:center;gap:20px;background:#102729;color:#fff;border-bottom:1px solid #3d5759;position:relative;z-index:2}
.room-brand{display:flex;align-items:center;gap:11px}.room-brand>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #70cec5;color:#7ed8d0;font:600 12px var(--mono)}.room-brand>div{display:flex;flex-direction:column;gap:3px}.room-brand b{font-size:13px}.room-brand small,.room-context small{font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#7f999a}.room-context{min-width:0}.room-context b{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:#fff}.room-actions{display:flex;align-items:center;gap:8px}.room-actions>span{font:8px var(--mono);letter-spacing:.07em;color:#7fd6ce;margin-right:4px}.room-actions i{display:inline-block;width:6px;height:6px;background:#65c9bf;margin-right:5px}.room-actions button{border:1px solid #506b6d;background:transparent;color:#c0d2d3;padding:8px 10px;font:8px var(--mono);letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.room-actions button:hover{border-color:#70cec5;color:#fff;background:#183b3d}
.journey{height:54px;padding:0;background:#fff}.jst{padding:10px 12px;justify-content:flex-start}.jst.now{background:#e8f6f3;box-shadow:inset 0 -3px 0 #55b9af}.jst__n{width:24px;height:24px;border-radius:0}.jst.now .jst__n{box-shadow:none;animation:none}.jst__t{font-size:11px}.jst__d{font-size:8px}.cere{top:128px}
.rzone{display:grid;grid-template-columns:228px minmax(440px,1fr) 320px}.wing{width:auto;background:#f3f7f6;padding:13px 11px;gap:10px}.wing h4{letter-spacing:.12em}.wrow{border:0;border-bottom:1px solid #d0dcda;background:transparent;padding:10px 8px}.wrow.cur{background:#fff;box-shadow:inset 3px 0 0 #2f837a}.wnew{background:#e7f5f2}.wdrop{background:#fff}.wallet{background:#fff}
.cchat{background:#0d1c1e;color:#fff}.conversation-head{height:50px;flex:0 0 auto;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #344d4f;background:#13282a}.conversation-head>div:first-child{display:flex;flex-direction:column;gap:4px}.conversation-head small{font:8px var(--mono);letter-spacing:.08em;color:#789294}.conversation-head b{font-size:11px;color:#e1eeee}.conversation-head>div:last-child{display:flex;align-items:center;gap:10px}.conversation-head>div:last-child span,.conversation-head>div:last-child b{font:8px var(--mono);font-weight:400}.conversation-head>div:last-child span{padding:5px 7px;background:#203d3e;color:#92aeaf}.conversation-head>div:last-child b{color:#71d0c7}.cthread{padding:22px clamp(18px,4vw,46px);background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:34px 34px}.cm{font-size:13px}.cm--u{background:#dff3ef;color:#183738;border-right-color:#2f837a}.cm--a{background:#fff;color:#183738;border-left-color:#70cdc5}.ctyping{background:#fff}.cnotice{color:#91aaab;border-color:#466163}.art{max-width:92%;background:#182f31;border-color:#486668;color:#d5e6e6;box-shadow:none}.art__head{background:#213a3c;border-color:#486668;color:#d0a650}.art__body,.art__body b{color:#bfd1d2}.art--doc .art__body{color:#d5e6e6}.art--dia{border-left:3px solid #61c8be}.art--dia .art__head::before{content:'BSC FLOW · ';color:#69cdc4}.art--dia svg{background:#f8fbfa}.dia__cap{color:#a8c1c2}.dia__leg{border-color:#486668}.cquick{padding:8px 18px;background:#13282a;border-top:1px solid #344d4f}.qk{padding:6px 8px;border-color:#466365;background:transparent;color:#a8c2c3;font-size:10px}.qk:hover{background:#203c3e}.catts{padding:7px 18px;background:#13282a}.catt{border-color:#466365;background:#203c3e;color:#b7cccc}.cform{background:#fff;border-top-color:#476163}.cform button[type=submit]{background:#60c9bf;color:#113335}.cform button[type=submit]:hover{background:#7bd5cd}.cfoot{background:#13282a;border-color:#344d4f;color:#7f999a}
.dock{width:auto;background:#f5f8f7;border-left-color:#bdcfcc}.pr-head{height:58px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c5d4d2;background:#f5f8f7}.pr-brand{display:flex;align-items:center;gap:10px}.pr-brand>span{width:34px;height:34px;display:grid;place-items:center;background:#1b6963;color:#fff;font:9px var(--mono)}.pr-brand b,.pr-brand small{display:block}.pr-brand b{font-size:11px}.pr-brand small{margin-top:3px;font:8px var(--mono);text-transform:uppercase;color:#718481}.pr-head .e-quiet{max-width:76px}.pr-progress{padding:12px 14px;border-bottom:1px solid #cbd8d6}.pr-progress>div{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.06em;color:#5f7775}.pr-progress>i{display:block;height:3px;margin-top:8px;background:#d3dfdd}.pr-progress>i>em{display:block;height:100%;background:#4eb5aa}.pr-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #c5d4d2;position:sticky;top:0;z-index:2}.pr-tabs button{padding:10px 3px;border:0;border-right:1px solid #d0dcda;background:#edf3f1;color:#66807e;font:7px var(--mono);text-transform:uppercase;cursor:pointer}.pr-tabs button:last-child{border-right:0}.pr-tabs button.on{background:#fff;color:#1d6d66;box-shadow:inset 0 -3px 0 #4db4aa}.pr-panel[hidden]{display:none}.pr-card{padding:13px 14px;border-bottom:1px solid #cad8d5;background:#fff}.pr-card.warn{background:#fff8e8}.pr-card small{display:block;margin-bottom:6px;font:8px var(--mono);letter-spacing:.08em;color:#26776f}.pr-card.warn small{color:#956a19}.pr-card b{display:block;font-size:10px;line-height:1.45}.pr-card span{display:block;margin-top:7px;font:7px var(--mono);color:#80908f}.pr-route{margin:12px;padding:15px;background:#153536;color:#fff;border-left:3px solid #66cfc5}.pr-route small{font:8px var(--mono);letter-spacing:.08em;color:#75cfc6}.pr-route b{display:block;margin-top:8px;font:600 17px var(--serif);color:#fff}.pr-route p{margin:7px 0 0;font-size:10px;line-height:1.55;color:#adc3c3}.pr-contract{margin:0 12px 12px;background:#fff;border:1px solid #c9d7d5}.pr-contract>div{padding:10px;border-bottom:1px solid #d2dddb}.pr-contract>div:last-child{border-bottom:0}.pr-contract dt{font:7px var(--mono);color:#2a756e}.pr-contract dd{margin:5px 0 0;font-size:9px;font-weight:700;line-height:1.4}.pr-evidence{margin:12px;padding:13px;background:#fff;border-left:3px solid #d0a650}.pr-evidence b,.pr-evidence span{display:block}.pr-evidence b{font-size:10px}.pr-evidence span{margin-top:6px;font:8px/1.45 var(--mono);color:#718481}.dock .e-h{display:none}.dock .e-mod{background:#fff}.dock .e-act{background:#fff}.dock .dpanel{right:320px}.dock .e-mod[data-dt='bsc']{margin:12px;border:1px solid #c5d4d2}.dock .e-mod[data-dt='dia']{border-left:3px solid #61c8be}.dock .e-mod--need{background:#fff8e8}.pbar{background:#fff}.pb.on{box-shadow:inset 0 3px 0 #4eb5aa;border-top:0}
@media(max-width:1180px){.room-actions>span,.room-actions #premiumExport{display:none}.rzone{grid-template-columns:208px minmax(400px,1fr) 288px}.dock .dpanel{right:288px}}
@media(max-width:960px){.room-head{grid-template-columns:1fr auto}.room-context{display:none}.room-actions #premiumHuman{display:none}.rzone{display:flex}.conversation-head{padding-inline:12px}.conversation-head>div:last-child span{display:none}.dock .dpanel{right:0}.sheet .e-h{display:none}.sheet .pr-tabs{top:-14px}.art{max-width:100%}}
@media(max-width:560px){.room-head{padding-inline:12px}.room-actions{display:none}.room-brand small{font-size:7px}.journey{height:45px}.jst{padding:7px 3px;justify-content:center;gap:4px}.jst__n{width:auto;height:auto;border:0;background:transparent!important}.jst__d{display:none}.jst__t{font-size:8px}.cthread{padding:15px}.conversation-head>div:last-child b{display:none}.cm{max-width:94%}.cform{flex-wrap:wrap}.cform button[type=submit]{min-height:40px}.pr-tabs button{font-size:9px;min-height:40px}}

/* ══ CONSULTING ROOM UPGRADE — 03/08/2026 ════════════════════════════════════
   Three founder notes, in order: the intake form runs INLINE inside the room
   instead of on its own screen and the question flow is animated; the
   diagrams became a vocabulary of eight drawings instead of one box chart;
   and every Advisor Dock module now opens something real. */

/* ── Inline intake (founder "phương án B") ─────────────────────────────────
   The form sits in the chat column with the room live around it. While it
   runs, .intaking dims the furniture and takes the composer out of the tab
   order — the client has exactly one thing to do. */
.ikinline{padding:22px 26px 6px;display:none;}
.room.intaking .ikinline{display:block;width:min(620px,100%);margin:auto;}
.room.intaking .cchat{justify-content:center;}
.room.intaking .cthread{display:none;}
.room.intaking .cform,.room.intaking .cquick,.room.intaking .catts,.room.intaking .cfoot{display:none;}
.room.intaking .wing,.room.intaking .dock{opacity:.62;transition:opacity .5s var(--ease);}
.room.intaking .wing{pointer-events:none;}
.ikcard{border:1px solid var(--hair);background:#fff;padding:24px 26px 20px;
  box-shadow:0 18px 44px -30px rgba(10,40,44,.4);}
.ikhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;}
.ikcount{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--faint);font-variant-numeric:tabular-nums;}
.ikinline .ikstage{margin:0;}
.ikinline .ikbar{margin-bottom:14px;}

/* Directional motion: the card leaves the way the client is going and the
   next one arrives from the other side. Answering should feel like moving
   through something, not like the same screen refusing to end. */
.ikq--inR{animation:ikInR .3s cubic-bezier(.2,.8,.2,1) both;}
.ikq--inL{animation:ikInL .3s cubic-bezier(.2,.8,.2,1) both;}
.ikq--outL{animation:ikOutL .15s ease-in both;}
.ikq--outR{animation:ikOutR .15s ease-in both;}
@keyframes ikInR{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes ikInL{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
@keyframes ikOutL{to{opacity:0;transform:translateX(-22px)}}
@keyframes ikOutR{to{opacity:0;transform:translateX(22px)}}
/* Chips arrive in sequence so the eye is led down the options rather than
   hit with all of them at once. */
.ikq--inR .ikchip,.ikq--inL .ikchip{animation:ikChip .34s cubic-bezier(.2,.8,.2,1) both;}
.ikq .ikchip:nth-child(1){animation-delay:.04s}.ikq .ikchip:nth-child(2){animation-delay:.08s}
.ikq .ikchip:nth-child(3){animation-delay:.12s}.ikq .ikchip:nth-child(4){animation-delay:.16s}
.ikq .ikchip:nth-child(5){animation-delay:.2s}.ikq .ikchip:nth-child(6){animation-delay:.24s}
@keyframes ikChip{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* The chosen chip confirms itself before the card leaves — otherwise the
   screen changes so fast the client is never told what they picked. */
.ikchip--lock{animation:ikLock .24s cubic-bezier(.2,.8,.2,1) both;}
@keyframes ikLock{50%{transform:scale(1.045)}to{transform:none}}
.ikchip--lock::after{content:'✓';margin-left:7px;font-weight:700;}

/* ── Diagrams — the drawing carries its own name and insight ───────────── */
/* .art uses margin-right:auto, which cancels align-self:stretch — so every
   artefact was sized by its own content and the drawings came out at seven
   different widths down one thread. A drawing needs a stable canvas. */
.art--dia{width:min(660px,100%);}
.art--dia .art__head{gap:9px;}
.dia__kind{font-family:var(--mono);font-size:8px;letter-spacing:.14em;padding:3px 6px;
  border:1px solid var(--teal);color:var(--teal-deep);background:var(--teal-tint);flex:0 0 auto;}
.dia__zoom{margin-left:auto;border:0;background:none;color:var(--teal-deep);font-size:14px;
  cursor:pointer;line-height:1;padding:2px 4px;flex:0 0 auto;}
.dia__zoom:hover{background:var(--teal-tint);}
.dia__cap{margin:0;padding:0 16px 12px;font-size:12.5px;line-height:1.55;color:var(--soft);font-style:italic;}
.dia__cap--big{font-style:italic;font-size:13.5px;padding:0 0 14px;}
.dia__leg{display:flex;flex-wrap:wrap;gap:12px;padding:0 16px 12px;}
.dia__lg{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:8.5px;
  letter-spacing:.06em;color:var(--soft);}
.dia__lg i{width:10px;height:10px;border:1.5px solid var(--teal);flex:0 0 auto;}
.diafull__k{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal-deep);margin:0 0 6px;}
.diafull__svg{border:1px solid var(--hair);background:#fff;padding:14px;margin-bottom:12px;}
.diafull__svg svg{display:block;width:100%;height:auto;}
.diafull .dia__leg{padding:0;}
.art--diaSm{margin:0 0 14px;max-width:100%;}

/* ── Advisor Dock v3 — every module opens something ────────────────────── */
.e-mod[role=button]:focus-visible{outline:2px solid var(--teal);outline-offset:-2px;}
.e-open{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;color:var(--faint);
  margin-top:7px;line-height:1.5;}
.e-mod:hover .e-open{color:var(--teal-deep);}
.e-wings{display:flex;gap:11px;flex-wrap:wrap;}
.e-wing{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:8.5px;color:var(--soft);}
.e-wing i{font-style:normal;letter-spacing:1px;color:var(--teal-deep);font-size:7.5px;}
.e-steps{display:flex;gap:5px;}
.e-step{width:19px;height:19px;display:grid;place-items:center;border:1px solid var(--hair);
  font-family:var(--mono);font-size:8.5px;color:var(--faint);background:#fff;}
.e-step.done{border-color:var(--teal-deep);color:var(--teal-deep);background:var(--teal-tint);}
.e-step.now{border-color:var(--teal-deep);color:#fff;background:var(--teal-deep);font-weight:700;}
.e-gnav{display:flex;justify-content:space-between;gap:10px;margin-top:7px;}
.e-gnav button{border:0;background:none;font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;
  color:var(--soft);cursor:pointer;padding:2px 0;}
.e-gnav button:hover{color:var(--teal-deep);text-decoration:underline;}
/* "Coming up" rows are buttons now — they explain what unlocks them */
.e-mod--soon{cursor:default;}
.e-mod--soon:hover{background:transparent;}
button.e-soon{width:100%;border:0;background:none;text-align:left;cursor:pointer;font-family:var(--sans);}
button.e-soon:hover{color:var(--teal-deep);}
button.e-soon:hover .ic{stroke:var(--teal-deep);}
.e-cue--big{font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--soft);margin:0 0 14px;}
.dpanel .iknext{width:100%;margin-top:12px;}
.maprow--file{padding-right:96px;}
.maprow--file .mapedit{right:30px;}
.mapedit--del{right:0;font-size:11px;}
/* journey panel */
.jrow{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--hair);}
.jrow__n{width:22px;height:22px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--hair);
  font-family:var(--mono);font-size:9px;color:var(--faint);}
.jrow--done .jrow__n{border-color:var(--teal-deep);color:var(--teal-deep);background:var(--teal-tint);}
.jrow--now .jrow__n{border-color:var(--teal-deep);background:var(--teal-deep);color:#fff;font-weight:700;}
.jrow b{display:block;font-size:12.5px;color:var(--tint);}
.jrow__d{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;color:var(--faint);margin-top:2px;}
.jrow__items{margin:6px 0 0;padding-left:15px;font-size:11.5px;color:var(--soft);line-height:1.55;}
.jrow__now{display:block;margin-top:5px;font-size:11.5px;color:var(--teal-deep);}

@media (max-width:900px){
  .ikinline{padding:14px 16px 4px;}
  .ikcard{padding:18px 16px 16px;}
  .room.intaking .dock{opacity:1;}
  .dia__cap,.dia__leg{padding-left:14px;padding-right:14px;}
}
@media (prefers-reduced-motion:reduce){
  .ikq--inR,.ikq--inL,.ikq--outL,.ikq--outR,.ikchip--lock,.ikq .ikchip{animation:none!important;}
}

/* ══ BSC ĐỒNG HÀNH + TIỆN ÍCH PHIÊN (03/08/2026 — moat 2) ═══════════════════
   Founder: BSC phải CHỦ ĐỘNG hiện lên mỗi khi xong chặng, và note + diagram
   phải đầy đủ cho toàn bộ phiên tư vấn. Hai lớp BSC nằm TRONG luồng chat nên
   không bao giờ cắt ngang lúc khách đang gõ. */

/* chip theo lượt — "+2 ô canvas · 7/13" */
.bscchip{align-self:flex-start;margin:-4px 0 2px;border:1px solid var(--teal);background:var(--teal-tint);
  color:var(--teal-deep);font-family:var(--mono);font-size:9px;letter-spacing:.08em;padding:4px 9px;
  cursor:pointer;animation:bscChipIn .34s cubic-bezier(.2,.8,.2,1) both;}
.bscchip:hover{background:#D6F0F0;}
@keyframes bscChipIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* mini-canvas cuối chặng */
.art--bsc{border-left:4px solid var(--teal);}
.bscmini__b{padding:13px 16px 15px;}
.bscmini__grid{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.bscmini__w{display:flex;align-items:center;gap:4px;}
.bscmini__w b{font-family:var(--mono);font-size:9px;color:var(--faint);margin-right:2px;font-weight:400;}
.bscmini__w i{width:13px;height:13px;border:1px solid var(--hair);background:#fff;display:block;}
.bscmini__w i.on{border-color:var(--teal-deep);background:var(--teal);}
.bscmini__w--h i{transform:rotate(45deg);}
.bscmini__cap{margin:0 0 9px;font-size:12.5px;line-height:1.55;color:var(--soft);}
.bscmini__go{border:0;background:none;color:var(--teal-deep);font-size:12px;cursor:pointer;
  font-family:var(--sans);padding:0;text-decoration:underline;}

/* thống kê ngành */
.indstat__v{font-weight:600;color:var(--tint);}
.indstat__src{display:block;font-family:var(--mono);font-size:8.5px;color:var(--faint);margin-top:3px;}

/* tiến độ tư vấn trong panel hành trình */
.jprog{display:flex;flex-direction:column;gap:5px;padding:2px 0 10px;}
.jprog__bar{height:3px;background:var(--hair);}
.jprog__bar i{display:block;height:100%;background:var(--teal);transition:width .5s var(--ease);}
.jprog span{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;color:var(--faint);}

/* sổ phiên tư vấn */
.nb__sec{border-top:1px solid var(--hair);padding:10px 0;}
.nb__sec:first-child{border-top:0;}
.nb__sec h6{margin:0 0 7px;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);font-weight:400;}
.nb__r b{display:block;font-size:12px;color:var(--tint);}
.nb__r ul,.nb__sec>ul{margin:3px 0 9px;padding-left:16px;font-size:11.5px;color:var(--soft);line-height:1.55;}
.nb__d{margin-bottom:8px;}
.nb__dopen{border:0;background:none;padding:0;text-align:left;color:var(--teal-deep);font-size:11.5px;
  cursor:pointer;font-family:var(--sans);text-decoration:underline;}
.nb__dcap{display:block;font-size:11px;color:var(--soft);font-style:italic;margin-top:2px;}
.nb__n{position:relative;padding:7px 22px 7px 9px;border-left:2px solid var(--teal);background:var(--paper-2);
  margin-bottom:6px;font-size:12px;color:var(--tint);line-height:1.5;}
.nb__n i{display:block;font-family:var(--mono);font-size:8.5px;color:var(--faint);font-style:normal;margin-top:3px;}
.nb__x{position:absolute;top:5px;right:4px;border:0;background:none;color:var(--faint);cursor:pointer;font-size:11px;}
.nb__x:hover{color:var(--leak,#C4593A);}

@media (prefers-reduced-motion:reduce){.bscchip{animation:none;}}

/* Energy Bank — bảng giá theo hành động · top-up · lịch sử (WO-EB-03c, 14/08/2026) */
.wprice, .wtopup, .whist { margin-top: 8px; font-size: 12px; }
.wprice > summary, .wtopup > summary, .whist > summary {
  cursor: pointer; opacity: .8; list-style: none; padding: 4px 0;
}
.wprice > summary::-webkit-details-marker,
.wtopup > summary::-webkit-details-marker,
.whist > summary::-webkit-details-marker { display: none; }
.wprice > summary::before, .wtopup > summary::before, .whist > summary::before { content: '▸ '; }
.wprice[open] > summary::before, .wtopup[open] > summary::before, .whist[open] > summary::before { content: '▾ '; }
.wprice__row {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 4px 0; border-bottom: 1px solid var(--hair, rgba(0, 0, 0, .08));
}
.wprice__row:last-child { border-bottom: 0; }
.wtopup__row { display: flex; gap: 8px; margin: 6px 0; flex-wrap: wrap; }
.whist__body { max-height: 240px; overflow-y: auto; }

/* ══ CONSULTING ROOM RESIZABLE RAILS + CHAT THEMES (14/08/2026) ═══════════
   The room is a true three-column workspace. Every track is allowed to shrink;
   long wallet/document content can no longer dictate the chat width. */
.room{
  --left-rail:320px;
  --right-rail:320px;
  --rail-speed:220ms;
}
.rzone{
  display:grid!important;
  grid-template-columns:var(--left-rail) minmax(0,1fr) var(--right-rail);
  min-width:0;
  overflow:hidden;
  transition:grid-template-columns var(--rail-speed) var(--ease);
}
.rzone>*{min-width:0;}
.wing,.dock,.cchat{min-width:0;min-height:0;}
.wing,.dock{
  width:auto;
  overflow-x:hidden;
  transition:opacity var(--rail-speed) ease,transform var(--rail-speed) var(--ease),padding var(--rail-speed) ease;
}
.cchat{position:relative;isolation:isolate;height:100%;max-height:100%;overflow:hidden;}
.cthread{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.cform,.cquick,.catts,.cfoot,.conversation-head{flex:0 0 auto;}
.room.left-closed{--left-rail:0px;}
.room.right-closed{--right-rail:0px;}
.room.left-closed .wing,.room.right-closed .dock{
  opacity:0;
  pointer-events:none;
  padding-left:0;
  padding-right:0;
  border:0;
  overflow:hidden;
}
.room.left-closed .wing{transform:translateX(-18px);}
.room.right-closed .dock{transform:translateX(18px);}
.dock .dpanel{right:var(--right-rail);}

.rail-head,.pr-head{min-width:0;}
.rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;}
.rail-head h4{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rail-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto;}
.rail-actions button{
  width:28px;height:28px;padding:0;border:1px solid #b8cbc8;background:#fff;color:#315d5a;
  display:grid;place-items:center;font:12px var(--mono);cursor:pointer;transition:.16s ease;
}
.rail-actions button:hover,.rail-actions button:focus-visible{background:#dff3ef;border-color:#4fa69e;color:#143f3c;outline:0;}
.rail-actions--right{margin-left:auto;}
.rail-actions--right .e-quiet{width:28px;max-width:28px;padding:0;overflow:hidden;font-size:0;}
.rail-actions--right .e-quiet::before{content:'Ⅱ';font:11px var(--mono);}
.rail-actions--right .e-quiet[aria-pressed="true"]::before{content:'▶';}
.sheet .rail-actions{display:none;}

.rail-reopen{
  position:absolute;z-index:24;top:58px;width:30px;height:66px;border:1px solid #376765;
  background:#102829;color:#78d1c7;display:none;place-items:center;font-size:24px;cursor:pointer;
  box-shadow:0 8px 24px rgba(6,22,25,.22);
}
.rail-reopen--left{left:0;border-left:0;}
.rail-reopen--right{right:0;border-right:0;}
.room.left-closed .rail-reopen--left,.room.right-closed .rail-reopen--right{display:grid;}
.rail-reopen:hover,.rail-reopen:focus-visible{background:#18413f;color:#fff;outline:2px solid #70cdc5;outline-offset:-2px;}

/* Intrinsic-width containment: the Energy bank used to stretch the entire
   left column because its action rows refused to wrap. */
.wing .wallet,.wing .wrow,.wing .wdrop,.wing details,.wing .wcode__row,.wing .wref__row{min-width:0;max-width:100%;}
.wing .wcode__row,.wing .wref__row{flex-wrap:wrap;}
.wing code,.wing input,.wing button{max-width:100%;}
.wing code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wprice__row{min-width:0;flex-wrap:wrap;}

.conversation-head{gap:14px;min-width:0;}
.conversation-title{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:4px;}
.conversation-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.conversation-state{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 1 auto;min-width:0;}
.conversation-state span,.conversation-state b{font:8px var(--mono);font-weight:400;white-space:nowrap;}
.conversation-state span{padding:5px 7px;background:#203d3e;color:#92aeaf;}
.conversation-state b{color:#71d0c7;}
.chat-theme-picker{display:flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 6px;border:1px solid rgba(132,180,178,.28);background:rgba(8,24,27,.28);}
.chat-theme-picker>span{font:7px var(--mono);letter-spacing:.1em;color:#789294;margin-right:2px;}
.chat-theme-picker button{width:16px;height:16px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;cursor:pointer;box-shadow:0 0 0 0 transparent;}
.chat-theme-picker button[data-chat-theme="slate"]{background:linear-gradient(135deg,#2b4357,#162634);}
.chat-theme-picker button[data-chat-theme="heritage"]{background:linear-gradient(135deg,#1d4a48,#0d1c1e);}
.chat-theme-picker button[data-chat-theme="paper"]{background:linear-gradient(135deg,#faf8f1,#d7cbb8);}
.chat-theme-picker button.on{box-shadow:0 0 0 2px #13282a,0 0 0 3px #70cdc5;}
.chat-theme-picker button:focus-visible{outline:2px solid #fff;outline-offset:2px;}

/* Theme 1 — Slate studio: cool and premium without dark-mode contrast loss. */
.room.chat-theme-slate .cchat{background:#e7eef0;color:#1d3437;}
.room.chat-theme-slate .conversation-head{background:#34464c;border-color:#52666c;}
.room.chat-theme-slate .cquick,.room.chat-theme-slate .catts{background:#dfe8ea;border-color:#b8c8ca;}
.room.chat-theme-slate .cfoot{background:#d4e0e2;border-color:#b4c4c6;color:#536a6d;}
.room.chat-theme-slate .cthread{background-color:#e7eef0;background-image:radial-gradient(circle at 14% 4%,rgba(72,143,150,.14),transparent 34%),radial-gradient(circle at 84% 72%,rgba(185,142,77,.09),transparent 30%),linear-gradient(rgba(38,65,70,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(38,65,70,.045) 1px,transparent 1px);background-size:auto,auto,38px 38px,38px 38px;}
.room.chat-theme-slate .qk{border-color:#829b9e;background:#fff;color:#23484a;}
.room.chat-theme-slate .qk:hover{background:#d5ebe7;border-color:#56a69e;}
.room.chat-theme-slate .art{background:#fff;border-color:#a9bdbe;color:#223f42;box-shadow:0 10px 28px rgba(35,57,61,.08);}
.room.chat-theme-slate .art__head{background:#edf3f3;border-color:#b5c7c8;color:#7a5a27;}
.room.chat-theme-slate .art__body,.room.chat-theme-slate .art__body b,.room.chat-theme-slate .art--doc .art__body{color:#2b494c;}
.room.chat-theme-slate .cform{border-top-color:#9fb3b5;}
.room.chat-theme-slate .cnotice{color:#465e61;border-color:#8ea4a6;background:#f6f9f9;}

/* Theme 2 — Heritage mist: BIXSO grid identity with light reading surfaces. */
.room.chat-theme-heritage .cchat{background:#dcebe7;color:#173638;}
.room.chat-theme-heritage .conversation-head{background:#264846;border-color:#52706e;}
.room.chat-theme-heritage .cquick,.room.chat-theme-heritage .catts{background:#d3e4df;border-color:#abc3bd;}
.room.chat-theme-heritage .cfoot{background:#c9dcd7;border-color:#abc3bd;color:#4e6966;}
.room.chat-theme-heritage .cthread{background-color:#dcebe7;background-image:linear-gradient(rgba(34,82,78,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,82,78,.06) 1px,transparent 1px);background-size:34px 34px;}
.room.chat-theme-heritage .qk{background:#f8fbfa;border-color:#7ca39e;color:#1f514d;}
.room.chat-theme-heritage .art{background:#fff;border-color:#9ab8b3;color:#1e4140;box-shadow:0 10px 28px rgba(26,66,62,.08);}
.room.chat-theme-heritage .art__head{background:#e7f1ee;border-color:#abc5c0;color:#735628;}
.room.chat-theme-heritage .art__body,.room.chat-theme-heritage .art__body b,.room.chat-theme-heritage .art--doc .art__body{color:#294b49;}
.room.chat-theme-heritage .cnotice{color:#3d5e5b;border-color:#86a9a3;background:#f4f9f7;}

/* Theme 3 — Warm paper: a lighter consulting-room mode for long reading. */
.room.chat-theme-paper .cchat{background:#eeeae1;color:#243638;}
.room.chat-theme-paper .conversation-head{background:#3a4548;border-color:#5b6869;}
.room.chat-theme-paper .cthread{background-color:#f1ede4;background-image:radial-gradient(circle at 90% 5%,rgba(190,145,76,.12),transparent 30%),linear-gradient(rgba(48,72,72,.055) 1px,transparent 1px);background-size:auto,100% 32px;}
.room.chat-theme-paper .cquick,.room.chat-theme-paper .catts{background:#e5dfd3;border-color:#c9bead;}
.room.chat-theme-paper .qk{background:#f8f5ee;border-color:#b9ac99;color:#294b49;}
.room.chat-theme-paper .qk:hover{background:#d9eee9;border-color:#69aca4;}
.room.chat-theme-paper .cfoot{background:#ddd5c7;border-color:#c4b8a5;color:#716a60;}
.room.chat-theme-paper .cnotice{color:#677879;border-color:#a6b2ae;}
.room.chat-theme-paper .art{background:#fff;border-color:#c6b9a6;color:#294345;box-shadow:0 10px 28px rgba(60,49,35,.08);}
.room.chat-theme-paper .art__head{background:#ece6da;border-color:#c6b9a6;color:#8d692f;}
.room.chat-theme-paper .art__body,.room.chat-theme-paper .art__body b,.room.chat-theme-paper .art--doc .art__body{color:#385052;}

/* Chat must remain usable regardless of theme. These elements carry actual
   business text, so every palette pins them to AA-readable foregrounds. */
.room .cm--a{background:#fff;color:#183738;border-left-color:#58b7ae;box-shadow:0 8px 24px rgba(32,56,58,.06);}
.room .cm--u{background:#d9f0ec;color:#183738;border-right-color:#2f837a;}
.room .cform{background:#fff;color:#183738;box-shadow:0 -8px 24px rgba(25,48,50,.06);}
.room .cform textarea{color:#183738;background:#fff;}
.room .cform button:disabled,.room-actions button:disabled,.e-act:disabled{opacity:.55;cursor:wait;}
.room .cform.is-busy{box-shadow:inset 0 3px 0 #d0a650,0 -8px 24px rgba(25,48,50,.06);}

/* Diagrams are first-class consulting artefacts, not thumbnail decorations. */
.art--dia{width:min(100%,980px);max-width:100%;border-left-width:4px;}
.art--dia .art__head::before{content:none;}
.art--dia .art__head{min-height:46px;gap:10px;flex-wrap:wrap;padding:10px 14px;}
.dia__zoom{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 9px;border:1px solid currentColor;background:#fff;font:9px var(--mono);letter-spacing:.04em;}
.dia__zoom span{font-size:14px;line-height:1;}
.dia__stats{display:flex;flex-wrap:wrap;gap:6px;padding:9px 14px;border-bottom:1px solid #c7d5d3;background:#f5f9f8;}
.dia__stats span{padding:4px 7px;border:1px solid #bed0cd;background:#fff;color:#4f6967;font:8px var(--mono);letter-spacing:.04em;}
.art--dia .art__body{padding:16px;overflow-x:auto;background:#fff;}
.art--dia .art__body svg{display:block;width:100%;min-width:620px;height:auto;}
.art--dia .dia__cap{padding-top:12px;color:#435c5e;font-style:normal;border-top:1px solid #d4dfdd;}
.art--dia .dia__leg{padding-top:2px;}
.diafull__top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.bsc:has(.diafull){width:min(1120px,96vw);}
.diafull__top>span{font:9px var(--mono);color:var(--faint);}
.diafull>.dia__stats{margin:0 0 14px;padding:0 0 12px;background:transparent;}
.diafull__svg{padding:20px;max-height:58vh;overflow:auto;background:#fbfdfc;}
.diafull__svg svg{min-width:720px;}
.dia-ledger{margin-top:18px;border:1px solid var(--hair);background:#fff;}
.dia-ledger__head{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--hair);background:var(--paper-2);}
.dia-ledger__head b{font-size:12px;color:var(--tint);}.dia-ledger__head span{font:8px var(--mono);color:var(--faint);text-align:right;}
.dia-ledger ol{list-style:none;margin:0;padding:0;counter-reset:dia-point;}
.dia-ledger__row{display:grid;grid-template-columns:80px minmax(140px,1fr) auto;gap:8px 14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--hair);counter-increment:dia-point;}
.dia-ledger__row:last-child{border-bottom:0;}.dia-ledger__row>span{font:8px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#477672;}.dia-ledger__row>b{font-size:11px;color:var(--tint);}.dia-ledger__row>em{font:600 10px var(--mono);color:#8c6424;font-style:normal;}.dia-ledger__row>small{grid-column:2/-1;color:var(--soft);font-size:10px;}
.dia-ledger__row--leak{box-shadow:inset 3px 0 0 #c4593a;background:#fff9f6;}
.dia-ledger__row--human{box-shadow:inset 3px 0 0 #d0a650;background:#fffaf0;}
.diafull__actions{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin-top:14px;}
.diafull__actions button{min-height:38px;border:1px solid var(--hair);background:#fff;color:var(--teal-deep);font:10px var(--mono);cursor:pointer;padding:8px 12px;}
.diafull__actions button:last-child{text-align:right;}.diafull__actions button:disabled{opacity:.35;cursor:not-allowed;}

@media(max-width:1180px){
  .room{--left-rail:280px;--right-rail:280px;}
  .conversation-state b{display:none;}
}
@media(max-width:960px){
  .rzone{display:flex!important;overflow:visible;}
  .rail-reopen{display:none!important;}
  .dock .dpanel{right:0;}
  .conversation-head{gap:8px;}
  .conversation-state span{display:none;}
}
@media(max-width:560px){
  .conversation-head{height:54px;}
  .conversation-title small{font-size:7px;}
  .chat-theme-picker{padding:4px;}
  .chat-theme-picker>span{display:none;}
  .chat-theme-picker button{width:18px;height:18px;}
  .art--dia .art__body svg{min-width:560px;}
  .dia-ledger__head{display:block;}.dia-ledger__head span{display:block;margin-top:5px;text-align:left;}
  .dia-ledger__row{grid-template-columns:72px 1fr;}.dia-ledger__row>em{grid-column:2;}.diafull__actions{grid-template-columns:1fr 1fr;}.diafull__actions button[data-dia-export]{grid-column:1/-1;grid-row:2;}
}

/* ══ PORTAL V1 MASTER FINISHING (15/08/2026) ═══════════════════════════
   One editorial scale, one bottom baseline and inspectable AI reasoning. */
.room{
  --workspace-action-height:76px;
  --workspace-pad:12px;
  --label-size:8px;
  --caption-size:9px;
}
.rail-minibar{height:40px;flex-basis:40px;padding-left:12px;font-size:8px;letter-spacing:.12em;background:#e9f1ef;}
.rail-minibar button{width:40px;height:40px;}
.smart-rail-head{padding:12px 12px 0;}
.smart-rail-head__stage{font-size:8px;}
.smart-rail-head__stage strong{font-size:21px;}
.smart-rail-head__stage strong small{font-size:8px;}
.smart-rail-head__title{grid-template-columns:minmax(0,1fr) 36px;gap:10px;margin-top:8px;}
.smart-rail-head__title h3{font-size:15px;letter-spacing:-.015em;}
.smart-rail-head__title p{margin-top:4px;font-size:8.5px;line-height:1.45;}
.smart-rail-head__title button{width:36px;height:36px;font-size:18px;}
.smart-rail-head__next{grid-template-columns:66px minmax(0,1fr);gap:9px;margin:10px -12px 0;padding:9px 12px;}
.smart-rail-head__next small{font-size:7.5px;}
.smart-rail-head__next b{font-size:9px;line-height:1.3;}

.wing>.stage-brief{padding:10px 12px 0;}
.stage-brief__section{font-size:8px;}
.stage-brief__section b{font-size:7.5px;}
.wing>.stage-brief h3{margin:7px 0 4px;font-size:13.5px;}
.wing>.stage-brief>p{font-size:9.5px;line-height:1.45;}
.wing .stage-memory{gap:5px;margin-top:9px;}
.wing .stage-memory section{padding-top:6px;}
.wing .stage-memory section>header,.stage-missing>header,.stage-sources>header{font-size:7.5px;}
.wing .stage-memory__row{padding:4px 0;}
.wing .stage-memory__row small,.stage-missing small{font-size:7px;}
.wing .stage-memory__row b,.stage-missing b{font-size:9px;}
.wing .stage-memory__row span,.stage-missing em{font-size:7.5px;}
.stage-sources>div>b{font-size:8.5px;}.stage-sources>div>small{font-size:7px;}
.stage-upload{min-height:42px;margin-top:7px!important;padding:7px!important;}
.stage-upload>b{font-size:9px!important;}.stage-upload>small{font-size:7px;}

.stage-side-actions{box-sizing:border-box;height:var(--workspace-action-height);min-height:var(--workspace-action-height);padding:8px 0;border-top-color:#aebfbd;align-content:center;}
.stage-side-actions>small{font-size:7.5px;}
.stage-side-actions button{min-height:38px;padding:7px;font-size:8.5px;line-height:1.25;}
.stage-side-actions--left{margin-inline:-12px;padding-inline:12px;}
.stage-side-actions--right{padding:8px 12px;}
.cform{box-sizing:border-box;height:var(--workspace-action-height);min-height:var(--workspace-action-height);}
.cform .clip{width:58px;}.cform textarea{padding:20px 18px;font-size:14px;}.cform button[type=submit]{min-width:108px;}

.rail-canvas{width:calc(100% - 24px);margin:10px 12px 0;}
.rail-canvas>header{padding:9px 10px;}.rail-canvas>header small{font-size:7px;}.rail-canvas>header b{font-size:10.5px;}.rail-canvas>header strong{font-size:20px;}
.rail-canvas__grid{gap:5px;padding:6px;}.rail-canvas__grid>section{grid-template-rows:auto repeat(4,25px);gap:3px;}
.rail-canvas__grid>section>header{font-size:6.5px;}.rail-canvas__grid>section>div small{font-size:6px;}.rail-canvas__grid>section>div b{font-size:6.5px;}
.rail-canvas__solution{grid-template-columns:68px minmax(0,1fr);padding:7px 8px;}.rail-canvas__solution small{font-size:6.5px;}.rail-canvas__solution b{font-size:7.5px;}
.rail-canvas>footer{padding:6px 9px;font-size:7px;}
.solution-proposal{margin:10px 12px 0;}.solution-proposal>header{padding:10px 11px;}.solution-proposal>header small{font-size:7px;}.solution-proposal>header b{font-size:11px;}.solution-proposal>header>span{font-size:6.5px;}
.solution-proposal>h3{padding:11px;font-size:12px;}.solution-proposal__flow{padding:0 10px 10px;}.solution-proposal__flow i{font-size:7px;}.solution-proposal__flow b{font-size:7.5px;}.solution-proposal dt{font-size:6.5px;}.solution-proposal dd{font-size:8px;}

.intelligence-editor{flex:0 0 auto;margin-top:10px;padding:10px 12px 11px;border-block-color:#adbfbd;background:#f9fbfa;}
.intelligence-editor>header{align-items:center;margin-bottom:8px;}
.intelligence-editor>header small{font-size:7.5px;letter-spacing:.12em;}
.intelligence-editor>header b{margin-top:3px;font-size:8.5px;}
.intelligence-editor>header em{font:700 20px var(--mono);font-style:normal;color:#173d3f;}
.intelligence-editor>header em span{font-size:8px;color:#4d7775;}
.analysis-ledger{display:grid;border:1px solid #b4c6c3;background:#fff;}
.analysis-record{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto 12px;gap:7px;align-items:center;min-height:48px;padding:6px 7px;border:0;border-bottom:1px solid #cfdbd9;background:#fff;color:#214548;text-align:left;cursor:pointer;}
.analysis-record:last-child{border-bottom:0;}.analysis-record:hover,.analysis-record:focus-visible{z-index:1;background:#eaf5f2;box-shadow:inset 3px 0 0 #2e8b82;outline:0;}
.analysis-record__index{color:#6e8785;font:7px var(--mono);}
.analysis-record__body{min-width:0;}.analysis-record__body>small{display:block;color:#52706f;font:7.5px var(--mono);}.analysis-record__body>b{display:block;margin-top:2px;color:#1f6e68;font:700 7px var(--mono);letter-spacing:.05em;}
.analysis-record__body>span{display:block;margin-top:4px;color:#829391;font:6.5px var(--mono);}.analysis-record>strong{font:700 16px var(--mono);text-align:right;}.analysis-record>strong small{font-size:7px;color:#6d8381;}.analysis-record>strong.analysis-record__state{max-width:72px;padding:4px 5px;border:1px solid #9bb9b5;color:#246f69;font:700 6px/1.15 var(--mono);text-align:center;white-space:normal;overflow-wrap:anywhere;}.analysis-record__open{color:#2f8179;font:10px var(--mono);}

.ai-recommendation{padding:11px 12px 0;}.ai-recommendation>header{font-size:7.5px;}.ai-recommendation>h3{margin:8px 0 5px;font-size:12.5px;}.ai-recommendation>p{font-size:9px;line-height:1.5;}.ai-recommendation__gate{margin-top:9px;padding:8px 9px;}.ai-recommendation__gate small{font-size:6.5px;}.ai-recommendation__gate b{font-size:8px;line-height:1.4;}.ai-recommendation .stage-side-actions--right{margin-inline:-12px;}

.dock .dpanel{width:390px;right:var(--right-rail);padding:0;background:#f5f8f7;border-left-color:#8ea7a4;}
.dock .dpanel .dclose{top:13px;right:14px;z-index:2;width:30px;height:30px;border:1px solid #557271;background:#173b3d;color:#c9dcda;}
.metric-detail>header{padding:24px 22px 18px;background:#123638;color:#fff;border-bottom:3px solid #56bdb3;}
.metric-detail>header>small{color:#71cec5;font:7.5px var(--mono);letter-spacing:.12em;}.metric-detail>header>div{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:15px;}.metric-detail>header h5{max-width:240px;color:#fff;font:600 22px/1.15 var(--sans);letter-spacing:-.025em;text-transform:none;}.metric-detail>header strong{font:700 36px var(--mono);color:#7ad3ca;}.metric-detail>header strong span{font-size:11px;color:#a6bfbd;}.metric-detail>header strong.metric-detail__state{max-width:180px;padding:8px 10px;border:1px solid #66918e;color:#7ad3ca;font:700 10px/1.25 var(--mono);text-align:center;}.metric-detail>header p{margin:8px 0 0;color:#a9c0bf;font:8px var(--mono);letter-spacing:.06em;}
.metric-detail>section{padding:17px 22px;border-bottom:1px solid #c7d4d2;background:#fff;}.metric-detail>section>small{display:block;color:#2f7c75;font:7.5px var(--mono);letter-spacing:.1em;}.metric-detail>section>p{margin:7px 0 0;color:#405c5f;font-size:11px;line-height:1.55;}.metric-detail>.metric-detail__needed{background:#fff8e9;border-left:3px solid #c3944e;}.metric-detail>.metric-detail__needed>small{color:#956923;}
.metric-challenge>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px;}.metric-challenge>div button{min-height:44px;padding:6px;border:1px solid #adbfbd;background:#f7faf9;color:#476264;font:7.5px/1.35 var(--mono);cursor:pointer;}.metric-challenge>div button.on{border-color:#277f77;background:#dff2ee;color:#175c57;box-shadow:inset 0 -3px 0 #2d8d84;}.metric-challenge textarea{box-sizing:border-box;width:100%;margin-top:9px;padding:10px;border:1px solid #adbfbd;resize:vertical;color:#193c3e;font:11px/1.5 var(--sans);}.metric-challenge__send{width:100%;min-height:42px;margin-top:7px;border:1px solid #1f706a;background:#1f706a;color:#fff;font:700 8px var(--mono);letter-spacing:.04em;cursor:pointer;}

@media(max-width:1180px){
  .room{--workspace-action-height:72px;}
  .dock .dpanel{width:360px;}
  .smart-rail-head__title h3{font-size:14px;}
  .analysis-record{grid-template-columns:20px minmax(0,1fr) 34px 10px;gap:5px;}
}
@media(max-width:960px){
  .room{--workspace-action-height:64px;}
  .dock .dpanel{width:auto;right:0;}
  .cform{height:auto;min-height:var(--workspace-action-height);}
}

/* ══ APPLICATION WORKSPACE V2 — ONE HEADER + GUIDED STAGES (14/08/2026) ═══
   /portal is no longer a marketing page containing a chat box. One application
   header owns identity, current work, account and workspace controls. Initial
   is a full-workspace interview; later stages expose stage-specific inputs on
   the left and the output being built on the right. */
.room{height:100dvh;min-height:620px;overflow:hidden;background:#eef3f2;}
#shell[style*="display: none"],#shell[style*="display:none"]{display:none!important;}
.app-head{height:68px;flex:0 0 68px;display:grid;grid-template-columns:minmax(210px,280px) minmax(260px,1fr) auto;align-items:center;gap:20px;padding:0 18px;background:#0d292c;color:#fff;border-bottom:1px solid #345356;position:relative;z-index:52;}
.app-brand{display:flex;align-items:center;gap:14px;min-width:0;color:#fff;text-decoration:none;}
.app-brand img{width:42px;height:42px;object-fit:contain;transform:translateY(2px) scale(1.78);}
.app-brand span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.app-brand b{font:700 18px var(--sans);letter-spacing:.17em;}
.app-brand small,.app-context small{font:8px var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#89a5a7;}
.app-context{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;}
.app-stage{display:grid;place-items:center;min-width:54px;height:30px;padding:0 8px;border:1px solid #4c6d6f;color:#78d1c7;font:9px var(--mono);letter-spacing:.06em;}
.app-context>div{min-width:0;}
.app-context b{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#fff;}
.guest-context,.guest-actions{display:none;}
.guest-mode .app-context,.guest-mode .app-actions,.guest-mode .journey,.guest-mode .cere{display:none;}
.guest-mode .guest-context{display:flex;min-width:0;flex-direction:column;gap:4px;}
.guest-context small{color:#79a09f;font:8px var(--mono);letter-spacing:.13em;}
.guest-context b{overflow:hidden;color:#fff;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap;}
.guest-mode .guest-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;}
.guest-language{display:flex;border:1px solid #49686a;}
.guest-language button{width:36px;height:32px;border:0;border-right:1px solid #49686a;background:transparent;color:#9db4b5;font:8px var(--mono);cursor:pointer;}
.guest-language button:last-child{border-right:0;}.guest-language button:hover,.guest-language button:focus-visible{background:#173b3d;color:#fff;outline:0;}
.guest-actions>a{color:#c4d4d5;font:8px var(--mono);letter-spacing:.06em;text-decoration:none;text-transform:uppercase;white-space:nowrap;}.guest-actions>a:hover,.guest-actions>a:focus-visible{color:#fff;outline:0;}.guest-actions>a span{margin-left:5px;color:#72d1c8;}
.app-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;}
.app-save{display:flex;align-items:center;gap:6px;margin-right:4px;color:#8fb2b2;font:8px var(--mono);letter-spacing:.06em;white-space:nowrap;}
.app-save i{width:6px;height:6px;background:#62cbc0;}
.app-action{height:34px;border:1px solid #49686a;background:transparent;color:#c7d8d9;padding:0 11px;font:8px var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;}
.app-action:hover,.app-action:focus-visible{border-color:#71d0c7;background:#163c3e;color:#fff;outline:0;}
.app-action--primary{background:#62c9bf;border-color:#62c9bf;color:#102f31;font-weight:700;}
.app-action--primary:hover{background:#7ad7ce;color:#102f31;}
.app-action--icon{width:34px;padding:0;font-size:14px;}
.profile-trigger{position:relative;width:36px;height:36px;padding:0;border:1px solid #6a8a8c;background:#f4f8f7;color:#174346;display:grid;place-items:center;font:700 11px var(--mono);cursor:pointer;}
.profile-trigger i{position:absolute;right:-2px;bottom:-2px;width:8px;height:8px;border:2px solid #0d292c;background:#61c9bf;border-radius:50%;}
.profile-trigger:hover,.profile-trigger:focus-visible{outline:2px solid #72d1c8;outline-offset:2px;}

/* Journey is the only workflow navigation below the application header. */
.journey{height:56px;flex:0 0 56px;padding:0;background:#fff;border-bottom:1px solid #bdcecc;}
.jst{border-right:1px solid #d6e0de;padding:8px 14px;justify-content:flex-start;background:#fff;}
.jst:last-child{border-right:0;}
.jst+.jst::before{display:none;}
.jst.done{background:#f4f8f7;}
.jst.now{background:#e4f4f1;box-shadow:inset 0 -3px 0 #4db5aa;}
.jst__n{width:25px;height:25px;border-radius:0;box-shadow:none!important;animation:none!important;}
.jst__t{font-size:10.5px;}
.jst__d{font-size:7.5px;}
.jst__state{display:block;margin-top:2px;color:#17766e;font:7px var(--mono);letter-spacing:.08em;text-transform:uppercase;}
.cere{top:130px;}

/* Chat is deliberately quiet: no local header and no legal/marketing footer. */
.cchat{background:#e7eef0;color:#1d3437;}
.cthread{padding:26px clamp(20px,4vw,52px) 20px;background-color:#e7eef0;background-image:linear-gradient(rgba(38,65,70,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(38,65,70,.035) 1px,transparent 1px);background-size:38px 38px;}
.cm{max-width:min(78%,760px);font-size:13.5px;line-height:1.65;}
.cquick{padding:9px 18px;background:#dfe8ea;border-top:1px solid #bdccce;}
.qk{padding:7px 10px;border-color:#80999b;background:#f8fbfb;color:#244b4e;font-size:10.5px;}
.catts{padding:7px 18px;background:#dfe8ea;}
.cform{min-height:58px;border-top:1px solid #aebfc1;box-shadow:0 -10px 24px rgba(31,55,58,.07);}
.cform .clip{width:52px;color:#315f62;}
.cform textarea{padding:17px 16px;}
.cform button[type=submit]{min-width:100px;background:#55c2b7;color:#14383a;}

/* Stage-aware rail brief. Each rail explains its job in the current stage. */
.stage-brief{margin:-1px -1px 2px;padding:13px 12px;border:1px solid #b8cbc8;background:#fff;}
.stage-brief__k{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#2d7770;font:8px var(--mono);letter-spacing:.11em;text-transform:uppercase;}
.stage-brief h3{margin:8px 0 5px;color:#15383a;font-size:14px;line-height:1.25;}
.stage-brief p{margin:0;color:#607679;font-size:10.5px;line-height:1.5;}
.stage-memory{display:grid;gap:10px;margin-top:13px;}
.stage-memory section{border-top:1px solid #d4dfdd;padding-top:9px;}
.stage-memory section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;color:#708487;font:8px var(--mono);letter-spacing:.1em;}
.stage-memory section>header em{color:#2d7770;font-style:normal;}
.stage-memory__row{display:grid;grid-template-columns:8px minmax(0,1fr);gap:7px;padding:6px 0;border-top:1px solid #edf2f1;}
.stage-memory__row>i{width:6px;height:6px;margin-top:4px;border:1px solid #9fb1af;background:#fff;}
.stage-memory__row.confirmed>i{border-color:#2c9188;background:#2c9188;}
.stage-memory__row.open>i{border-color:#c39148;background:#fff7e9;}
.stage-memory__row div{min-width:0;}
.stage-memory__row small{display:block;color:#7d8e91;font:7.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;}
.stage-memory__row b{display:block;margin-top:2px;color:#203b3e;font-size:10px;line-height:1.35;overflow-wrap:anywhere;}
.stage-memory__row span{display:block;margin-top:2px;color:#a07338;font-size:8.5px;line-height:1.35;}
.stage-checks{display:grid;gap:5px;margin-top:10px;}
.stage-checks span{display:flex;align-items:flex-start;gap:7px;color:#51696b;font-size:9.5px;line-height:1.4;}
.stage-checks i{width:12px;height:12px;flex:0 0 12px;display:grid;place-items:center;border:1px solid #a8bcba;color:#2d8178;font:7px var(--mono);font-style:normal;}
.stage-checks span.done i{background:#2f837a;border-color:#2f837a;color:#fff;}
.stage-output{padding:12px 14px;border-bottom:1px solid #c5d4d2;background:#e8f3f1;}
.stage-output small{display:block;color:#2d7770;font:8px var(--mono);letter-spacing:.11em;text-transform:uppercase;}
.stage-output b{display:block;margin-top:5px;color:#173a3c;font-size:12px;line-height:1.35;}
.stage-output span{display:block;margin-top:4px;color:#607679;font-size:9.5px;line-height:1.45;}
.stage-output-board{padding:10px 12px;border-bottom:1px solid #c5d4d2;background:#f7faf9;}
.stage-output-board article{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #dfe8e6;}
.stage-output-board article:last-of-type{border-bottom:0;}
.stage-output-board article div{min-width:0;}
.stage-output-board article small,.stage-output-board footer small{display:block;color:#7b8c8e;font:7.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;}
.stage-output-board article b{display:block;margin-top:2px;color:#203b3e;font-size:9.5px;line-height:1.35;overflow-wrap:anywhere;}
.stage-output-board article>span{flex:0 0 auto;padding:3px 5px;border:1px solid #aebfbd;color:#62777a;font:7px var(--mono);letter-spacing:.07em;}
.stage-output-board article.ready>span{border-color:#58aaa2;color:#247c75;background:#e9f6f4;}
.stage-output-board article.building>span{border-color:#c7a66d;color:#8a642c;background:#fff8e9;}
.stage-output-board footer{margin:8px -12px -10px;padding:9px 12px;background:#173b3d;color:#fff;}
.stage-output-board footer small{color:#78c8c0;}
.stage-output-board footer b{display:block;margin-top:4px;font-size:9.5px;line-height:1.4;}
.wing-utility{margin:8px 10px;border:1px solid #c7d4d2;background:#f9fbfa;}
.wing-utility>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;cursor:pointer;list-style:none;color:#314d50;font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase;}
.wing-utility>summary::-webkit-details-marker{display:none;}
.wing-utility>summary:before{content:'+';color:#2b8c84;font-size:12px;}
.wing-utility[open]>summary:before{content:'−';}
.wing-utility>summary span{margin-right:auto;}
.wing-utility>summary b{color:#2b8c84;font-weight:600;}
.wing-utility__body{border-top:1px solid #d7e1df;padding:8px;}
.wing-utility__body>h4{margin:3px 0 7px!important;}
.wing-utility--wallet .wallet{margin:0!important;border:0!important;}

/* One-screen context rails: the rails themselves never scroll. Secondary
   history/billing moved to application panels; only the centre conversation
   owns a reading scroll. */
@media(min-width:961px){
  .wing,.dock{overflow:hidden!important;}
  .wing{padding:0;gap:0;}
  .wing>.stage-brief{flex:1;min-height:0;margin:0;border:0;overflow:hidden;}
}
.smart-rail-head{--stage-accent:#3aa69d;flex:0 0 auto;padding:10px 11px 0;border-bottom:1px solid #b9ccca;background:#f5f9f8;color:#173b3d;}
.smart-rail-head--analysis{--stage-accent:#c58a38;}.smart-rail-head--agentic{--stage-accent:#4f79a8;}.smart-rail-head--deal{--stage-accent:#855f93;}
.smart-rail-head--right{background:#102f31;color:#fff;border-bottom-color:#365557;}
.smart-rail-head__stage{display:flex;align-items:flex-start;justify-content:space-between;color:var(--stage-accent);font:7px var(--mono);letter-spacing:.11em;}
.smart-rail-head__stage strong{font:700 19px var(--mono);line-height:.8;color:#79d4cb;}.smart-rail-head__stage strong small{font-size:7px;color:#9bb4b5;}
.smart-rail-head__title{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:7px;align-items:start;margin-top:6px;}
.smart-rail-head__title h3{margin:0;color:inherit;font-size:13px;line-height:1.2;}.smart-rail-head__title p{margin:3px 0 0;color:#718687;font:7px/1.35 var(--mono);}
.smart-rail-head--right .smart-rail-head__title p{color:#9bb2b3;}
.smart-rail-head__title button{width:30px;height:30px;padding:0;border:1px solid #a9bfbc;background:#fff;color:#285c59;font:16px var(--mono);cursor:pointer;}
.smart-rail-head--right .smart-rail-head__title button{border-color:#526f71;background:#173b3d;color:#b8d0cf;}
.smart-rail-head__title button:hover,.smart-rail-head__title button:focus-visible{border-color:var(--stage-accent);background:#e3f4f1;outline:0;}
.smart-rail-head--right .smart-rail-head__title button:hover,.smart-rail-head--right .smart-rail-head__title button:focus-visible{background:#234b4d;color:#fff;}
.smart-rail-head__next{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;margin:8px -11px 0;padding:7px 11px;border-top:1px solid color-mix(in srgb,var(--stage-accent) 35%,transparent);background:color-mix(in srgb,var(--stage-accent) 10%,transparent);}
.smart-rail-head__next small{color:var(--stage-accent);font:6px var(--mono);letter-spacing:.09em;}.smart-rail-head__next b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;}
.smart-rail-head--right .smart-rail-head__next b{color:#e3eeee;}

.wing>.stage-brief{display:flex;flex-direction:column;padding:8px 10px 0;}
.stage-brief__section{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#377c76;font:6.5px var(--mono);letter-spacing:.08em;}.stage-brief__section b{color:#80918f;font-size:5.8px;font-weight:400;text-align:right;}
.wing>.stage-brief h3{margin:5px 0 3px;font-size:12px;}
.wing>.stage-brief>p{font-size:8.5px;line-height:1.4;}
.wing .stage-memory{gap:4px;margin-top:7px;}
.wing .stage-memory section{padding-top:5px;}
.wing .stage-memory section>header{margin-bottom:2px;font-size:7px;}
.wing .stage-memory__row{padding:3px 0;gap:5px;}
.wing .stage-memory__row small{font-size:6.5px;}
.wing .stage-memory__row b{font-size:8.5px;line-height:1.25;}
.wing .stage-memory__row span{font-size:7px;}
.stage-missing,.stage-sources{margin-top:7px;padding-top:6px;border-top:1px solid #cbd8d6;}
.stage-missing>header,.stage-sources>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;color:#7b8c8e;font:7px var(--mono);letter-spacing:.09em;}
.stage-missing>header em,.stage-sources>header em{font-style:normal;color:#a06d24;}
.stage-missing>div{display:grid;grid-template-columns:7px minmax(0,1fr);gap:5px;padding:3px 0;border-top:1px solid #edf1f0;}
.stage-missing>div>i{width:6px;height:6px;margin-top:4px;border:1px solid #c39148;background:#fff7e9;}
.stage-missing small{display:block;color:#8a764f;font:6.5px var(--mono);text-transform:uppercase;}
.stage-missing b{display:block;margin-top:1px;color:#614b2b;font-size:8.5px;line-height:1.25;}
.stage-missing em{display:block;color:#a07338;font-size:7px;font-style:normal;}
.stage-missing>p{margin:3px 0;color:#4f7773;font-size:8px;}
.stage-sources>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:5px;align-items:center;padding:3px 0;border-top:1px solid #edf1f0;}
.stage-sources>div>span{color:#27847b;font-size:8px;}.stage-sources>div>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334d50;font-size:8px;}.stage-sources>div>small{color:#788b8d;font-size:6.5px;}
.stage-upload{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;grid-template-rows:auto auto;gap:0 6px;width:100%;margin-top:5px!important;padding:6px!important;border:1px dashed #65aaa3!important;background:#eef8f6!important;text-align:left!important;color:#285d59!important;}
.stage-upload>span{grid-row:1/3;display:grid;place-items:center;font-size:14px;}.stage-upload>b{font-size:8px!important;}.stage-upload>small{font:6px var(--mono);color:#718684;}

.stage-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:auto;padding:8px 0 9px;border-top:1px solid #b9cbc8;background:#f2f7f6;}
.stage-side-actions>small{grid-column:1/-1;color:#477a76;font:6px var(--mono);letter-spacing:.1em;}
.stage-side-actions button{min-height:34px;padding:6px;border:1px solid #9fb8b5;background:#fff;color:#285b58;font:7px/1.25 var(--mono);cursor:pointer;}
.stage-side-actions button:hover,.stage-side-actions button:focus-visible{border-color:#3e9e95;background:#e8f6f3;outline:0;}
.stage-side-actions button.primary{border-color:#246f69;background:#1f716b;color:#fff;font-weight:700;}
.stage-side-actions--left{margin-inline:-10px;padding-inline:10px;}
.stage-side-actions--right{margin-top:auto;padding:8px 10px 10px;border-top-color:#b8cbc8;}
.stage-side-actions--right>small{color:#3a7f79;}
.dock{display:flex;flex-direction:column;}

/* Right rail information hierarchy: visual map/solution → editable AI scores
   → one recommendation. This replaces the former stack of competing titles. */
.rail-minibar{height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:space-between;padding-left:10px;border-bottom:1px solid #b8cbc8;background:#eef4f2;color:#4f7473;font:6.5px var(--mono);letter-spacing:.1em;}
.rail-minibar button{width:36px;height:36px;border:0;border-left:1px solid #b8cbc8;background:#fff;color:#285c59;font:16px var(--mono);cursor:pointer;}.rail-minibar button:hover,.rail-minibar button:focus-visible{background:#dff3ef;outline:0;}
.rail-canvas{display:block;flex:0 0 auto;width:calc(100% - 20px);margin:8px 10px 0;padding:0;border:1px solid #8faaa7;background:#fff;color:#23484a;text-align:left;cursor:pointer;}
.rail-canvas>header{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;background:#12383a;color:#fff;}.rail-canvas>header small{display:block;color:#69c7be;font:6px var(--mono);letter-spacing:.09em;}.rail-canvas>header b{display:block;margin-top:2px;font-size:9px;}.rail-canvas>header strong{font:700 18px var(--mono);color:#6bd0c6;}.rail-canvas>header strong span{font-size:7px;color:#9db5b5;}
.rail-canvas__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px;background:#eef4f2;}.rail-canvas__grid>section{display:grid;grid-template-rows:auto repeat(4,27px);gap:3px;min-width:0;}.rail-canvas__grid>section>header{display:flex;justify-content:space-between;padding:2px;color:#66807e;font:5.5px var(--mono);letter-spacing:.04em;}.rail-canvas__grid>section>div{min-width:0;padding:3px 4px;border:1px solid #c4d1cf;background:#fff;overflow:hidden;}.rail-canvas__grid>section>div.filled{border-color:#3a9b92;background:#e4f4f1;}.rail-canvas__grid>section>div small{display:block;color:#5e8380;font:5.5px var(--mono);}.rail-canvas__grid>section>div b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9aa8a7;font-size:6px;font-weight:500;}.rail-canvas__grid>section>div.filled b{color:#265b58;}
.rail-canvas__solution{grid-column:1/-1;display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px;align-items:center;padding:6px 7px;border:1px solid #9db4b1;background:#fff;}.rail-canvas__solution small{color:#66807e;font:6px var(--mono);}.rail-canvas__solution b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;}.rail-canvas__solution.filled{border-color:#277f77;background:#dff2ee;}.rail-canvas>footer{padding:5px 8px;border-top:1px solid #b9cbc8;color:#257b74;font:6px var(--mono);text-align:right;}

.solution-proposal{flex:0 0 auto;margin:8px 10px 0;border:1px solid #8fa9a6;background:#fff;}.solution-proposal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px 10px;background:#12383a;color:#fff;}.solution-proposal>header small{display:block;color:#6bc9c0;font:6px var(--mono);letter-spacing:.09em;}.solution-proposal>header b{display:block;margin-top:3px;font-size:10px;}.solution-proposal>header>span{padding:3px 5px;border:1px solid #65aaa3;color:#8ed8d1;font:5.5px var(--mono);}.solution-proposal>h3{margin:0;padding:10px;color:#173b3d;font-size:11px;line-height:1.35;}.solution-proposal__flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:3px;padding:0 9px 9px;}.solution-proposal__flow>div{min-width:0;min-height:46px;padding:5px;border:1px solid #a7bbb8;background:#edf5f3;}.solution-proposal__flow i{display:block;color:#2d827a;font:6px var(--mono);font-style:normal;}.solution-proposal__flow b{display:block;margin-top:4px;font-size:6.5px;line-height:1.25;}.solution-proposal__flow>span{color:#5e8985;font:8px var(--mono);}.solution-proposal dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid #c6d4d2;}.solution-proposal dl>div{min-width:0;padding:7px 9px;}.solution-proposal dl>div+div{border-left:1px solid #c6d4d2;}.solution-proposal dt{color:#708583;font:5.5px var(--mono);text-transform:uppercase;}.solution-proposal dd{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:700;}

.intelligence-editor{flex:0 0 auto;margin-top:8px;padding:8px 10px 9px;border-block:1px solid #becfcd;background:#fff;}.intelligence-editor>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:5px;}.intelligence-editor>header small{display:block;color:#2a7f77;font:6px var(--mono);letter-spacing:.1em;}.intelligence-editor>header b{display:block;margin-top:2px;color:#6d8180;font-size:7px;font-weight:500;}.intelligence-editor>header em{color:#267f77;font:11px var(--mono);font-style:normal;}.intelligence-editor label{display:block;margin-top:5px;}.intelligence-editor label>span{display:flex;justify-content:space-between;color:#536f70;font-size:7px;}.intelligence-editor label>span b{color:#244f50;font:7px var(--mono);}.intelligence-editor input[type='range']{display:block;width:100%;height:12px;margin:0;accent-color:#35a399;cursor:pointer;}.intelligence-editor>button{width:100%;margin-top:5px;padding:5px 7px;border:1px solid #9bb5b2;background:#edf7f5;color:#246c66;font:6px var(--mono);cursor:pointer;}.intelligence-editor>button:hover,.intelligence-editor>button:focus-visible{border-color:#338f87;background:#dff2ee;outline:0;}

.ai-recommendation{flex:1;min-height:0;display:flex;flex-direction:column;padding:9px 10px 0;background:#f7faf9;}.ai-recommendation>header{display:flex;justify-content:space-between;color:#2b7d75;font:6px var(--mono);letter-spacing:.09em;}.ai-recommendation>header span{color:#7a8d8c;}.ai-recommendation>h3{margin:6px 0 4px;color:#183b3d;font-size:11px;line-height:1.25;}.ai-recommendation>p{margin:0;color:#5d7374;font-size:7.5px;line-height:1.4;}.ai-recommendation__gate{margin-top:7px;padding:6px 7px;border-left:2px solid #c49750;background:#fff7e8;}.ai-recommendation__gate small{display:block;color:#97703a;font:5.5px var(--mono);}.ai-recommendation__gate b{display:block;margin-top:3px;color:#614b2d;font-size:6.8px;line-height:1.3;}.ai-recommendation .stage-side-actions--right{margin:7px -10px 0;}

.ai-recommendation .stage-side-actions--right{margin-top:auto;}

.stage-output--compact{padding:9px 11px;}.stage-output--compact b{font-size:10.5px;}
.intelligence{padding:8px 11px;border-bottom:1px solid #c8d6d4;background:#fff;}
.intelligence>header{display:flex;justify-content:space-between;color:#587174;font:7px var(--mono);letter-spacing:.08em;}.intelligence>header em{color:#208078;font-style:normal;}
.intelligence>div{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:2px 7px;align-items:center;margin-top:5px;color:#526a6d;font-size:7.5px;}.intelligence>div>b{text-align:right;color:#234c4e;font:8px var(--mono);}.intelligence>div>i{grid-column:1/-1;height:2px;background:#dbe5e3;}.intelligence>div>i>em{display:block;height:100%;background:#44a99f;}
.bsc-mini{display:block;width:auto;margin:8px 10px;padding:0;border:1px solid #9fb9b5;background:#fff;color:#24494b;text-align:left;cursor:pointer;}
.bsc-mini>header{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;background:#12383a;color:#fff;}.bsc-mini>header small{display:block;color:#68c7be;font:6.5px var(--mono);letter-spacing:.08em;}.bsc-mini>header b{display:block;margin-top:2px;font-size:9px;}.bsc-mini>header strong{font:700 18px var(--mono);color:#6bd0c6;}.bsc-mini>header strong span{font-size:8px;color:#9db5b5;}
.bsc-mini__group{display:grid;grid-template-columns:58px 1fr;align-items:center;border-top:1px solid #d6e1df;}.bsc-mini__group>header{padding:5px 7px;color:#6e8384;font:6.5px var(--mono);}.bsc-mini__group>header b{display:block;margin-top:2px;color:#2d7c75;}.bsc-mini__group>div{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px 6px;border-left:1px solid #d6e1df;}.bsc-mini__group>div>span{display:grid;place-items:center;height:18px;border:1px solid #c7d4d2;color:#9aabaa;font:6px var(--mono);}.bsc-mini__group>div>span.filled{border-color:#45a99f;background:#e4f4f1;color:#216e67;}
.bsc-mini__heart{display:grid;grid-template-columns:70px 1fr;gap:5px;padding:6px 8px;border-top:1px solid #d6e1df;background:#f3f7f6;}.bsc-mini__heart span{color:#718787;font:6.5px var(--mono);}.bsc-mini__heart b{font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.bsc-mini__heart.filled{background:#e7f5f2;}.bsc-mini>footer{padding:5px 8px;border-top:1px solid #b9cbc8;color:#257b74;font:6.5px var(--mono);text-align:right;}
.dock .stage-output-board{padding:6px 10px;}.dock .stage-output-board article{padding:4px 0;}.dock .stage-output-board article small{font-size:6px;}.dock .stage-output-board article b{font-size:8px;}.dock .stage-output-board article>span{padding:2px 4px;font-size:5.5px;}.dock .stage-output-board footer{margin:5px -10px -6px;padding:6px 10px;}.dock .stage-output-board footer b{font-size:7.5px;}
.dock-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:7px 10px;background:#edf3f1;}.dock-actions button{min-height:34px;padding:5px;border:1px solid #9fb7b4;background:#fff;color:#285c5d;font-size:7px;line-height:1.25;cursor:pointer;}.dock-actions .ic{width:12px;vertical-align:middle;}

.app-energy{display:flex;align-items:center;gap:7px;min-width:95px;}.app-energy span{font:700 11px var(--mono);}.app-energy small{font:7px var(--mono);text-transform:uppercase;}
.energy-panel{width:min(440px,100vw);}.energy-overview{display:grid;grid-template-columns:140px 1fr;background:#113638;color:#fff;}.energy-overview>div{padding:20px;}.energy-overview>div+div{border-left:1px solid #426163;}.energy-overview small{display:block;color:#79c9c1;font:7px/1.4 var(--mono);letter-spacing:.08em;}.energy-overview strong{display:block;margin:6px 0 4px;font:700 32px var(--mono);}.energy-overview strong span{font-size:13px;color:#70cec4;}.energy-overview>div>b{font-size:10px;color:#bbcece;}.energy-cycle span{display:flex;justify-content:space-between;gap:8px;font-size:9px;}.energy-cycle i{display:block;height:4px;margin:9px 0;background:#385658;}.energy-cycle i em{display:block;height:100%;background:#64c9bf;}.energy-cycle small{color:#a9bfc0;}
.energy-topup,.energy-activity,.energy-policy{padding:18px 20px;border-bottom:1px solid #c8d5d3;}.energy-topup>header,.energy-activity>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}.energy-topup small,.energy-activity small,.energy-policy>small{color:#328178;font:7px var(--mono);letter-spacing:.09em;}.energy-topup h3{margin:4px 0 0;font-size:13px;}.energy-topup>header>span{padding:3px 5px;border:1px solid #9eb4b1;font:7px var(--mono);}.energy-topup>button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;margin-top:7px;border:1px solid #aebfbd;background:#fff;color:#24494b;text-align:left;cursor:pointer;}.energy-topup>button:hover{border-color:#328e85;background:#edf8f5;}.energy-topup>button b,.energy-topup>button small{display:block;}.energy-topup>button b{font-size:12px;}.energy-topup>button small{margin-top:3px;color:#718485;font:8px var(--sans);}.energy-topup>button strong{font:700 16px var(--mono);}.energy-topup>p{margin:9px 0 0;color:#748687;font-size:8.5px;line-height:1.45;}.energy-activity>header>b{font:8px var(--mono);}.energy-activity>div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid #dae3e1;}.energy-activity>div b,.energy-activity>div small{display:block;}.energy-activity>div b{font-size:9px;}.energy-activity>div small{margin-top:2px;color:#829292;}.energy-activity>div strong{font:9px var(--mono);color:#8b5d22;}.energy-policy>p{margin:6px 0 10px;color:#617779;font-size:9px;line-height:1.5;}.energy-policy>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #d5dfdd;font-size:8.5px;}.energy-policy>div b{text-align:right;}

/* Initial Interview is a real full-workspace step, not a card/modal in chat. */
.room.intaking .rzone{display:grid!important;grid-template-columns:minmax(0,1fr)!important;background:#f4f6f2;overflow:hidden;}
.room.intaking .wing,.room.intaking .dock,.room.intaking .rail-reopen{display:none!important;}
.room.intaking .cchat{grid-column:1;display:block;height:100%;background:#f4f6f2;overflow-y:auto;}
.room.intaking .ikinline{display:block;width:100%;height:100%;padding:0;margin:0;}
.room.intaking .cthread,.room.intaking .cform,.room.intaking .cquick,.room.intaking .catts{display:none;}
.ikcard{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,1fr);width:100%;min-height:100%;padding:0;border:0;background:#fff;box-shadow:none;}
.ikguide{padding:clamp(28px,4vw,58px);background:#113336;color:#fff;display:flex;flex-direction:column;}
.ikguide__mark{display:flex;align-items:center;gap:10px;color:#75d1c7;font:8px var(--mono);letter-spacing:.13em;text-transform:uppercase;}
.ikguide__mark i{width:28px;height:28px;display:grid;place-items:center;border:1px solid #5a7c7d;font-style:normal;}
.ikguide h2{max-width:390px;margin:28px 0 12px;color:#fff;font-size:clamp(25px,3vw,42px);line-height:1.08;letter-spacing:-.035em;}
.ikguide>p{max-width:390px;margin:0;color:#aac0c1;font-size:12.5px;line-height:1.65;}
.ikguide__why{margin-top:auto;padding-top:24px;border-top:1px solid #3d5b5d;}
.ikguide__why small{display:block;margin-bottom:7px;color:#75d1c7;font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase;}
.ikguide__why b{display:block;color:#e6f1f0;font-size:12px;line-height:1.5;}
.ikguide__ledger{display:flex;gap:5px;margin-top:16px;}
.ikguide__ledger i{height:3px;flex:1;background:#3b5a5c;}
.ikguide__ledger i.done{background:#67c9c0;}
.ikwork{display:flex;flex-direction:column;min-width:0;padding:clamp(30px,5vw,76px) clamp(28px,6vw,94px) 34px;background:#fff;}
.ikwork .ikbar{height:3px;margin:0 0 24px;background:#dce5e3;}
.ikwork .ikbar i{display:block;height:100%;background:#35a99f;}
.ikhead{margin-bottom:30px;}
.ikinline .ikstage{color:#277c75;}
.ikq{max-width:780px;}
.ikq__lead{max-width:620px;color:#6d8182;font-size:12px;line-height:1.55;}
.ikq__q{max-width:760px;margin:0 0 24px;color:#16383a;font-size:clamp(24px,3vw,38px);line-height:1.18;letter-spacing:-.025em;}
.ikq__opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.ikchip{min-height:58px;padding:13px 16px;text-align:left;border:1px solid #afc2c0;background:#fff;color:#234547;font-size:12.5px;line-height:1.4;}
.ikchip:hover{border-color:#3e9b92;background:#eef8f6;}
.ikchip.on{border-color:#237f77;background:#e2f3ef;box-shadow:inset 3px 0 0 #2e948a;}
.ikq input,.ikq textarea{width:100%;max-width:760px;border:1px solid #9fb6b3;background:#fbfdfc;padding:15px 16px;color:#173a3c;font:14px/1.55 var(--sans);}
.ikq textarea{min-height:150px;resize:vertical;}
.ikfoot{margin-top:auto;padding-top:28px;border-top:1px solid #d6e0de;}
.ikback,.ikq__skip{min-height:38px;}
.iknext{min-height:42px;padding:0 22px;}
.ikfoot__note,.ikquick{margin-top:12px;}

/* Initial V2 — a single, quiet interview surface. No explanatory side card:
   the reason is attached to the question it earns. */
.ikcard.ikcard--single{display:block;height:100%;min-height:100%;background:#f4f6f2;box-sizing:border-box;}
.ikwork.ikwork--single{width:min(900px,calc(100% - 40px));height:100%;min-height:100%;margin:0 auto;padding:clamp(28px,4.5vh,52px) clamp(24px,6vw,78px) 22px;background:#fff;border-inline:1px solid #d3ddda;box-sizing:border-box;overflow:hidden;}
.ikwork--single .ikhead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:clamp(36px,6vh,70px);}
.ikwork--single .ikq{width:100%;max-width:none;}
.ikq__context{max-width:690px;margin:0 0 14px;color:#367f79;font:9px/1.65 var(--mono);letter-spacing:.06em;text-transform:uppercase;}
.ikwork--single .ikq__q{max-width:790px;margin-bottom:30px;font-size:clamp(30px,4vw,48px);line-height:1.08;}
.ikwork--single .ikq__opts{max-width:790px;}
.ikwork--single .ikchip{min-height:64px;padding:15px 18px;font-size:13px;}
.ikcoverage{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:790px;margin-top:30px;padding-top:18px;border-top:1px solid #d7e1df;}
.ikcoverage span{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center;color:#6c7e7f;font:7px var(--mono);text-transform:uppercase;}
.ikcoverage i{grid-column:1/-1;height:3px;background:linear-gradient(90deg,#48aaa1 var(--p),#dbe4e2 var(--p));}
.ikcoverage b{font-weight:500;letter-spacing:.08em;}.ikcoverage em{font-style:normal;color:#287a74;}
.ikprivacy{max-width:790px;margin:auto 0 0;padding-top:22px;border-top:1px solid #d7e1df;color:#718485;font:8px/1.6 var(--mono);letter-spacing:.03em;}
.ikwork--single .ikfoot{max-width:790px;width:100%;}
.ikwork--single .ikfoot__note{max-width:790px;color:#718485;font:8px/1.55 var(--mono);}

/* Initial V3 — AI-led Dynamic Discovery. The page reads as a calm analyst's
   desk, not a questionnaire: one live question, a compact record of what was
   understood, and the three BSC foundations taking shape underneath. */
.discovery-work{--disc-ink:#153a3c;--disc-teal:#247d76;--disc-soft:#708384;--disc-line:#cbd8d5;justify-content:flex-start;background-color:#fbfcfb;background-image:linear-gradient(rgba(33,95,91,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(33,95,91,.026) 1px,transparent 1px);background-size:48px 48px;}
.discovery-progress{height:3px;background:#dce5e3;overflow:hidden;}.discovery-progress>i{display:block;height:100%;background:#35a99f;transition:width .45s var(--ease);}
.discovery-head{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:880px;margin:20px auto clamp(23px,4vh,42px);padding-bottom:16px;border-bottom:1px solid var(--disc-line);}
.discovery-head__identity{display:flex;align-items:center;gap:11px;}.discovery-head__identity>i{display:grid;place-items:center;width:34px;height:34px;border:1px solid #2d817a;background:#173f41;color:#82d4cc;font:12px var(--mono);font-style:normal;}.discovery-head__identity>span small,.discovery-head>span small{display:block;color:var(--disc-teal);font:7.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;}.discovery-head__identity>span b{display:block;margin-top:4px;color:var(--disc-ink);font-size:13px;}.discovery-head__identity>em{display:flex;align-items:center;gap:6px;margin-left:7px;color:#67807f;font:7px var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.08em;}.discovery-head__identity>em u{width:5px;height:5px;border-radius:50%;background:#35a99f;box-shadow:0 0 0 4px rgba(53,169,159,.12);animation:discPulse 2s infinite;}.discovery-head>span{text-align:right;}.discovery-head>span b{display:block;margin-top:5px;color:#526b6c;font:10px var(--mono);}
.discovery-main{width:100%;max-width:880px;margin:0 auto;animation:discEnter .32s var(--ease) both;}
.discovery-reflection{display:grid;grid-template-columns:32px 1fr;gap:12px;margin:0 0 21px 54px;padding:11px 13px;border:1px solid #bdd6d1;border-left:3px solid #36a49a;background:#edf7f4;}.discovery-reflection>i{display:grid;place-items:center;width:28px;height:28px;background:#1b5552;color:#9be1da;font:9px var(--mono);font-style:normal;}
.discovery-reflection small{padding-top:2px;color:#278178;font:7px var(--mono);letter-spacing:.08em;text-transform:uppercase;}.discovery-reflection p{margin:2px 0 0;color:#345c5e;font-size:11px;line-height:1.5;}
.discovery-question{display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;}.discovery-question>aside{padding-top:1px;text-align:center;}.discovery-question>aside span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8fb4af;color:#247d76;font:10px var(--mono);}.discovery-question>aside small{display:block;margin-top:6px;color:#839594;font:6.5px var(--mono);letter-spacing:.08em;}
.discovery-intent{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#247d76;font:7.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;}.discovery-intent b{padding:3px 6px;border:1px solid #9ab8b4;color:#456b69;font-weight:500;letter-spacing:.04em;}
.discovery-reason{max-width:660px;margin:0 0 12px;color:#607879;font-size:12px;line-height:1.55;}
.discovery-question h2{max-width:800px;margin:0 0 22px;color:var(--disc-ink);font-size:clamp(29px,3.35vw,41px);line-height:1.1;letter-spacing:-.035em;text-wrap:balance;}
.discovery-response-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}.discovery-response-head b{color:#345f5e;font:8px var(--mono);letter-spacing:.075em;text-transform:uppercase;}.discovery-response-head span{color:#879695;font:7px var(--mono);}
.discovery-write{position:relative;}.discovery-write textarea{display:block;width:100%;min-height:132px;padding:17px 18px 28px;border:1px solid #98b1ae;background:#fcfefd;color:#173b3d;font:15px/1.6 var(--sans);resize:vertical;}.discovery-write textarea:focus{outline:2px solid rgba(47,153,143,.22);outline-offset:1px;border-color:#2f998f;}.discovery-write>span{position:absolute;right:11px;bottom:9px;color:#829493;font:7px var(--mono);}
.discovery-cues{display:flex;align-items:center;gap:7px;margin-top:9px;color:#607777;}.discovery-cues>small{margin-right:3px;font:6.5px var(--mono);letter-spacing:.05em;text-transform:uppercase;}.discovery-cues>span{display:flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #d0dcda;background:rgba(255,255,255,.72);font-size:7.5px;}.discovery-cues i{display:grid;place-items:center;width:13px;height:13px;border:1px solid #a7bdb9;color:#277d75;font:6px var(--mono);font-style:normal;}
.discovery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.discovery-option{position:relative;display:grid;grid-template-columns:22px 1fr;align-items:start;gap:10px;min-height:70px;padding:14px;border:1px solid #adc0bd;background:#fff;color:#23494b;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s;}.discovery-option:hover,.discovery-option:focus-visible{border-color:#3b968d;background:#f0f8f6;outline:0;transform:translateY(-1px);}.discovery-option>i{width:18px;height:18px;margin-top:1px;border:1px solid #90aaa7;background:#fff;}.is-choice .discovery-option>i{border-radius:50%;}.discovery-option.on{border-color:#237f77;background:#e5f4f1;box-shadow:inset 3px 0 0 #2e948a;}.discovery-option.on>i{display:grid;place-items:center;border-color:#247f77;background:#247f77;}.discovery-option.on>i::after{content:'✓';color:#fff;font:10px var(--mono);}.discovery-option b{display:block;font-size:12.5px;line-height:1.3;}.discovery-option small{display:block;margin-top:4px;color:#718485;font-size:9.5px;line-height:1.4;}
.discovery-option>em{position:absolute;right:9px;top:8px;color:#a0afad;font:6px var(--mono);font-style:normal;}.discovery-option.on>em{color:#247d76;}
.discovery-known{margin-top:22px;padding-top:14px;border-top:1px solid #d5dfdd;}.discovery-known>small{display:block;margin-bottom:7px;color:#597475;font:7px var(--mono);letter-spacing:.09em;text-transform:uppercase;}.discovery-known>div{display:flex;flex-wrap:wrap;gap:6px;}.discovery-known span{display:flex;align-items:center;gap:7px;max-width:100%;padding:6px 8px;border:1px solid #c2d0ce;background:#f7faf9;color:#4d696a;font-size:8.5px;}.discovery-known span b{color:#278078;font:7px var(--mono);white-space:nowrap;}
.discovery-foundation{width:100%;max-width:880px;margin:clamp(21px,3.3vh,32px) auto 0;padding-top:11px;border-top:1px solid var(--disc-line);}.discovery-foundation>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#62807e;}.discovery-foundation>header small{font:7px var(--mono);letter-spacing:.08em;text-transform:uppercase;}.discovery-foundation>header span{font:6.5px var(--mono);}.discovery-map{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:100%;}.discovery-map article{position:relative;display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;min-height:48px;padding:8px 9px 11px;border:1px solid #c4d2d0;background:rgba(250,252,252,.92);overflow:hidden;}.discovery-map article>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #acbfbc;color:#728786;font:7px var(--mono);}.discovery-map article b{display:block;color:#4b6869;font-size:9px;}.discovery-map article small{display:block;margin-top:2px;color:#8b9999;font:6.5px var(--mono);}.discovery-map article>i{position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,#42a79d var(--disc-progress),#dbe5e3 var(--disc-progress));}.discovery-map article.is-building{border-color:#91b6b1;background:#f2f8f6;}.discovery-map article.is-ready{border-color:#3d978e;background:#e7f4f1;}.discovery-map article.is-ready>span{border-color:#318d84;color:#23766f;}
.discovery-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:880px;margin:auto auto 0;padding-top:14px;border-top:1px solid var(--disc-line);}.discovery-actions>div{display:flex;align-items:center;gap:14px;}.discovery-actions>div>span{color:#819291;font:7px var(--mono);}.discovery-skip{min-height:42px;padding:0;border:0;background:none;color:#718282;font:9px var(--mono);text-decoration:underline;cursor:pointer;}.discovery-skip:hover{color:#247d76;}.discovery-next{min-width:210px;background:#194c49!important;border-color:#194c49!important;}.discovery-next:hover{background:#267b74!important;border-color:#267b74!important;}.discovery-contract{display:flex;justify-content:center;gap:18px;width:100%;max-width:880px;margin:7px auto 0;color:#7d8f8e;font:6.5px/1.5 var(--mono);letter-spacing:.02em;}.discovery-contract span{display:flex;align-items:center;gap:6px;}.discovery-contract span::before{content:'◇';color:#30968d;}
.discovery-loading{display:grid;place-items:center;align-content:center;text-align:center;}.discovery-loading__mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:17px;border:1px solid #3e8f87;background:#153d3f;color:#7bd2c9;font:18px var(--mono);}.discovery-loading>small{color:#456e6d;font:8px var(--mono);letter-spacing:.1em;text-transform:uppercase;}.discovery-loading>div{display:flex;gap:5px;margin-top:14px;}.discovery-loading>div i{width:22px;height:2px;background:#c7d8d5;animation:discThink 1.05s infinite ease-in-out;}.discovery-loading>div i:nth-child(2){animation-delay:.14s}.discovery-loading>div i:nth-child(3){animation-delay:.28s}@keyframes discThink{0%,100%{background:#c7d8d5}50%{background:#2b958b}}
.discovery-error{max-width:620px;margin:auto;}.discovery-error small{color:#a06c2f;font:8px var(--mono);}.discovery-error h3{margin:12px 0 22px;color:#173b3d;font-size:23px;line-height:1.3;}
.discovery-review{overflow-y:auto!important;}.discovery-review>header{max-width:880px;width:100%;margin:0 auto 16px;padding-bottom:16px;border-bottom:1px solid var(--disc-line);}.discovery-review>header small{color:#268078;font:8px var(--mono);letter-spacing:.1em;}.discovery-review>header h2{max-width:760px;margin:9px 0 6px;color:#153a3c;font-size:clamp(27px,3.5vw,40px);line-height:1.1;letter-spacing:-.035em;}.discovery-review>header p{margin:0;color:#697e7f;font-size:11px;}.discovery-review__handoff{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:880px;margin:0 auto 14px;padding:11px 13px;border:1px solid #3f8881;background:#163f40;color:#fff;}.discovery-review__handoff span small{display:block;color:#7accc4;font:6.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;}.discovery-review__handoff span b{display:block;margin-top:4px;font-size:11px;}.discovery-review__handoff>em{display:flex;align-items:baseline;gap:7px;color:#8fded6;font:24px var(--sans);font-style:normal;}.discovery-review__handoff>em small{max-width:62px;color:#aac8c4;font:6px/1.3 var(--mono);text-transform:uppercase;}.discovery-review__group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;max-width:880px;margin:0 auto 12px;}.discovery-review__group>small{grid-column:1/-1;display:block;margin-bottom:0;color:#427372;font:7px var(--mono);letter-spacing:.09em;text-transform:uppercase;}.discovery-review__group article{display:grid;grid-template-columns:48px 1fr;min-height:58px;border:1px solid #c3d1cf;background:rgba(255,255,255,.94);}.discovery-review__group article>span{display:grid;place-items:center;padding:8px;border-right:1px solid #c3d1cf;color:#278078;font:7px var(--mono);}.discovery-review__group article>div{padding:8px 10px;}.discovery-review__group article b{display:block;color:#668080;font:6.5px var(--mono);text-transform:uppercase;}.discovery-review__group article p{margin:3px 0 0;color:#24484a;font-size:9.5px;line-height:1.35;}.discovery-review__group.is-hypothesis article{border-color:#d5bb8c;background:#fffaf0;}.discovery-review__group.is-hypothesis article>span{border-color:#d5bb8c;color:#9a6b2d;}.discovery-review>footer{width:100%;max-width:880px;margin:14px auto 0;text-align:right;}.discovery-review>footer .iknext{min-width:300px;background:#194c49;border-color:#194c49;}
@keyframes discEnter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes discPulse{0%,100%{opacity:.55}50%{opacity:1}}

@media(max-width:680px){
  .discovery-head{margin:15px 0 24px}.discovery-head__identity>span b{font-size:12px}.discovery-head__identity>em{display:none}.discovery-head>span small{display:none}.discovery-question{grid-template-columns:1fr}.discovery-question>aside{display:none}.discovery-question h2{font-size:28px}.discovery-reflection{grid-template-columns:28px 1fr;margin-left:0;gap:9px}.discovery-response-head span{display:none}.discovery-cues{flex-wrap:wrap}.discovery-cues>small{width:100%}.discovery-options{grid-template-columns:1fr}.discovery-option{min-height:60px}.discovery-known{display:none}.discovery-map{gap:4px}.discovery-map article{grid-template-columns:1fr;gap:4px;padding:7px}.discovery-map article>span{width:22px;height:22px}.discovery-map article b{font-size:7px}.discovery-actions{align-items:stretch}.discovery-actions>div>span{display:none}.discovery-next{min-width:0;flex:1}.discovery-contract{gap:8px;justify-content:flex-start;flex-wrap:wrap}.discovery-contract span:last-child{display:none}.discovery-review__group{grid-template-columns:1fr}.discovery-review__group article{grid-template-columns:48px 1fr}.discovery-review__handoff>em{display:none}.discovery-review>footer .iknext{width:100%;min-width:0}
}
@media(max-height:800px){
  .ikwork.ikwork--single.discovery-work{padding-top:16px;padding-bottom:8px;}
  .discovery-head{margin:8px auto 11px;padding-bottom:8px;}
  .discovery-head__identity>i{width:30px;height:30px;}
  .discovery-reflection{margin-bottom:8px;padding:6px 9px;}
  .discovery-reflection p{font-size:9.5px;line-height:1.35;}
  .discovery-question{gap:13px;}
  .discovery-reason{margin-bottom:5px;font-size:9.5px;line-height:1.35;}
  .discovery-question h2{margin-bottom:10px;font-size:clamp(26px,2.75vw,32px);}
  .discovery-response-head{margin-bottom:5px;}
  .discovery-write textarea{min-height:94px;padding-top:13px;}
  .discovery-cues{margin-top:6px;}
  .discovery-options{gap:6px;}
  .discovery-option{min-height:48px;padding:7px 10px;}
  .discovery-option b{font-size:11px;}.discovery-option small{margin-top:2px;font-size:8px;}
  .discovery-known{display:none;}
  .discovery-foundation{margin-top:8px;padding-top:6px;}
  .discovery-foundation>header{margin-bottom:4px;}
  .discovery-map article{min-height:36px;padding-block:3px 7px;}
  .discovery-actions{margin:5px auto 0;padding-top:5px;}
  .discovery-skip{min-height:36px;}
  .discovery-contract{display:none;}
}
@media(prefers-reduced-motion:reduce){.discovery-main,.discovery-head__identity>em u{animation:none}}

/* Settings and profile live at application level. */
.workspace-panel,.profile-menu{position:fixed;z-index:70;top:68px;right:0;background:#f7faf9;color:#17393b;border-left:1px solid #aebfbd;box-shadow:-20px 24px 50px rgba(11,38,41,.18);transform:translateX(105%);visibility:hidden;transition:transform .22s var(--ease),visibility 0s .22s;overflow-y:auto;}
.workspace-panel{width:min(430px,100vw);height:calc(100dvh - 68px);padding-bottom:28px;}
.profile-menu{width:min(360px,calc(100vw - 20px));max-height:calc(100dvh - 84px);top:62px;right:12px;border:1px solid #9eb3b1;}
.workspace-panel.open,.profile-menu.open{transform:none;visibility:visible;transition:transform .22s var(--ease),visibility 0s;}
.workspace-panel__head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #c6d3d1;background:#fff;}
.workspace-panel__head small{font:8px var(--mono);letter-spacing:.12em;color:#38867e;}
.workspace-panel__head h2{margin:3px 0 0;font-size:22px;}
.workspace-panel__head button{width:34px;height:34px;border:1px solid #b4c5c3;background:#fff;color:#335b5d;font-size:20px;cursor:pointer;}
.setting-group{padding:20px 22px;border-bottom:1px solid #cad6d4;}
.setting-group h3{margin:0;color:#17393b;font-size:13px;}
.setting-group>p{margin:5px 0 13px;color:#708283;font-size:10.5px;}
.theme-grid{display:grid;gap:8px;}
.theme-grid>button{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:9px;border:1px solid #b7c7c5;background:#fff;color:#25494b;text-align:left;cursor:pointer;}
.theme-grid>button>i{width:38px;height:32px;border:1px solid #9fb2b0;background:#e7eef0;}
.theme-grid>button[data-chat-theme="heritage"]>i{background-color:#dcebe7;background-image:linear-gradient(rgba(34,82,78,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(34,82,78,.1) 1px,transparent 1px);background-size:10px 10px;}
.theme-grid>button[data-chat-theme="paper"]>i{background:#eeeae1;}
.theme-grid>button span{font-size:11px;font-weight:700;}.theme-grid>button small{display:block;margin-top:2px;color:#728586;font-size:9px;font-weight:400;}
.theme-grid>button.on{border-color:#25857c;box-shadow:inset 3px 0 0 #25857c;background:#e9f5f2;}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #d7e0df;}
.setting-row:last-child{border-bottom:0;}.setting-row>span{font-size:11px;font-weight:700;}.setting-row>span small{display:block;margin-top:3px;color:#728586;font-size:9px;font-weight:400;}
.seg{display:flex;border:1px solid #adbfbd;}.seg button{min-height:30px;padding:0 9px;border:0;border-right:1px solid #adbfbd;background:#fff;color:#526d6f;font:8px var(--mono);cursor:pointer;}.seg button:last-child{border-right:0}.seg button.on{background:#1d6963;color:#fff;}.seg--wide{width:100%;}.seg--wide button{flex:1;}
.setting-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border:0;border-bottom:1px solid #d3dddb;background:none;color:#245256;text-align:left;font-size:11px;cursor:pointer;}.setting-link span{color:#738586;font-size:9px;}
.profile-card{display:flex;align-items:center;gap:12px;padding:18px;background:#113336;color:#fff;}.profile-card>span{width:42px;height:42px;display:grid;place-items:center;background:#64c9bf;color:#123537;font:700 13px var(--mono);}.profile-card b,.profile-card small{display:block;}.profile-card b{font-size:13px;}.profile-card small{margin-top:4px;color:#a9bfc0;font-size:9.5px;}
.profile-meta{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #cad6d4;background:#edf4f2;}.profile-meta span{padding:12px 14px;color:#718485;font:8px var(--mono);text-transform:uppercase;}.profile-meta span+span{border-left:1px solid #cad6d4;}.profile-meta b{display:block;margin-top:4px;color:#25484b;font:700 10px var(--sans);text-transform:none;}
.profile-menu>button,.profile-menu>a{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 16px;border:0;border-bottom:1px solid #d1dcda;background:#fff;color:#244d50;text-align:left;text-decoration:none;font-size:11px;cursor:pointer;}.profile-menu>button span,.profile-menu>a span{color:#758788;font-size:9px;}.profile-menu>button:hover,.profile-menu>a:hover{background:#e8f4f1;}.profile-menu .profile-signout{color:#8b442f;}
.panel-scrim{position:fixed;inset:68px 0 0;z-index:65;display:none;border:0;background:rgba(10,35,38,.34);}.panel-scrim.open{display:block;}

.room.text-large .cm{font-size:15px;}.room.text-large .art__body{font-size:13.5px;}
.room.density-compact .cthread{padding-top:16px;gap:8px;}.room.density-compact .cm{padding:9px 13px;line-height:1.5;}

/* Diagrams adapt to the chat width instead of creating a second axis. */
.art--dia .art__body{overflow-x:hidden;}.art--dia .art__body svg{min-width:0;max-width:100%;}.diafull__svg{overflow-y:auto;overflow-x:hidden;}.diafull__svg svg{min-width:0;max-width:100%;}

@media(max-width:1180px){
  .app-save,.app-action--text{display:none;}
  .app-head{grid-template-columns:210px minmax(220px,1fr) auto;}
}
@media(max-width:960px){
  .app-head{grid-template-columns:minmax(0,1fr) auto;height:62px;flex-basis:62px;padding:0 12px;}
  .app-context{display:none;}.app-action--primary{display:none;}.app-brand small{display:none;}
  .guest-mode .guest-context{display:none;}.guest-mode .app-brand small{display:block;}.guest-mode .guest-actions{gap:9px;}
  .workspace-panel{top:62px;height:calc(100dvh - 62px);}.panel-scrim{inset:62px 0 0;}
  .journey{height:50px;flex-basis:50px;}.jst{padding:6px 7px;justify-content:center;}.jst__x{display:none;}.jst__n{width:28px;height:28px;}
  .ikcard{grid-template-columns:1fr;}.ikguide{min-height:200px;padding:24px 26px;}.ikguide h2{margin:16px 0 8px;font-size:26px;}.ikguide__why{margin-top:18px;padding-top:14px;}.ikwork{padding:30px 24px;}.ikq__q{font-size:27px;}
}
@media(max-width:560px){
  .room{min-height:0;}.app-brand{gap:10px;}.app-brand img{width:36px;height:36px;}.app-brand b{font-size:15px;}.app-action--icon{display:none;}.profile-trigger{width:34px;height:34px;}
  .rgate{padding:16px;align-items:start;padding-top:34px;}.rgatebrand{padding:17px 20px;}.rgatebrand img{width:36px;height:36px;}.rgateintro{padding:23px 20px 18px;}.rgatecard h3{font-size:26px;}.rgatecard p{font-size:13.5px;}.rgatecard form{padding:0 20px 22px;}
  .guest-mode .app-brand small{display:none;}.guest-language{display:none;}.guest-actions>a{font-size:7px;}
  .ikguide{min-height:170px;padding:20px;}.ikguide>p,.ikguide__why b{font-size:10.5px;}.ikguide h2{font-size:22px;}.ikwork{padding:24px 18px;}.ikq__q{font-size:23px;}.ikq__opts{grid-template-columns:1fr;}.ikchip{min-height:48px;}.ikfoot{flex-wrap:wrap;gap:12px;}.iknext{width:100%;order:-1;}
  .ikwork.ikwork--single{width:100%;height:auto;min-height:100%;padding:24px 18px;border:0;overflow:visible;}.ikwork--single .ikhead{margin-bottom:34px;}.ikwork--single .ikq__q{font-size:30px;}.ikcoverage{gap:5px;}.ikcoverage span{font-size:6px;}
  .cm{max-width:94%;}.cform button[type=submit]{min-width:76px;}.workspace-panel{width:100vw;}.profile-menu{right:8px;}
}

/* Final cascade for V1 master finishing. Kept here so legacy room rules above
   cannot shrink the premium typography or break the shared bottom baseline. */
#room .rail-minibar{height:40px;flex-basis:40px;padding-left:12px;font-size:8px;letter-spacing:.12em;}
#room .rail-minibar button{width:40px;height:40px;}
#room .smart-rail-head{padding:12px 12px 0;}
#room .smart-rail-head__stage{font-size:8px;}#room .smart-rail-head__stage strong{font-size:21px;}#room .smart-rail-head__stage strong small{font-size:8px;}
#room .smart-rail-head__title{grid-template-columns:minmax(0,1fr) 36px;gap:10px;margin-top:8px;}#room .smart-rail-head__title h3{font-size:15px;}#room .smart-rail-head__title p{margin-top:4px;font-size:8.5px;line-height:1.45;}#room .smart-rail-head__title button{width:36px;height:36px;}
#room .smart-rail-head__next{grid-template-columns:66px minmax(0,1fr);gap:9px;margin:10px -12px 0;padding:9px 12px;}#room .smart-rail-head__next small{font-size:7.5px;}#room .smart-rail-head__next b{font-size:9px;}
#room .wing>.stage-brief{padding:10px 12px 0;}#room .stage-brief__section{font-size:8px;}#room .stage-brief__section b{font-size:7.5px;}#room .wing>.stage-brief h3{margin:7px 0 4px;font-size:13.5px;}#room .wing>.stage-brief>p{font-size:9.5px;}
#room .wing .stage-memory{gap:5px;margin-top:9px;}#room .wing .stage-memory section{padding-top:6px;}#room .wing .stage-memory section>header,#room .stage-missing>header,#room .stage-sources>header{font-size:7.5px;}#room .wing .stage-memory__row{padding:4px 0;}#room .wing .stage-memory__row small,#room .stage-missing small{font-size:7px;}#room .wing .stage-memory__row b,#room .stage-missing b{font-size:9px;}#room .wing .stage-memory__row span,#room .stage-missing em{font-size:7.5px;}
#room .stage-side-actions{box-sizing:border-box;height:var(--workspace-action-height);min-height:var(--workspace-action-height);padding-block:8px;align-content:center;}#room .stage-side-actions>small{font-size:7.5px;}#room .stage-side-actions button{min-height:38px;padding:7px;font-size:8.5px;}#room .stage-side-actions--left{margin-inline:-12px;padding-inline:12px;}#room .stage-side-actions--right{padding-inline:12px;}
#room .cform{box-sizing:border-box;height:var(--workspace-action-height);min-height:var(--workspace-action-height);}#room .cform .clip{width:58px;}#room .cform textarea{padding:20px 18px;}
#room .rail-canvas{width:calc(100% - 24px);margin:10px 12px 0;}#room .rail-canvas>header{padding:9px 10px;}#room .rail-canvas>header small{font-size:7px;}#room .rail-canvas>header b{font-size:10.5px;}#room .rail-canvas__grid{gap:5px;padding:6px;}#room .rail-canvas__grid>section{grid-template-rows:auto repeat(4,25px);}#room .rail-canvas__grid>section>header{font-size:6.5px;}#room .rail-canvas__grid>section>div small{font-size:6px;}#room .rail-canvas__grid>section>div b{font-size:6.5px;}#room .rail-canvas>footer{font-size:7px;}
#room .intelligence-editor{margin-top:10px;padding:10px 12px 11px;background:#f9fbfa;}#room .intelligence-editor>header{align-items:center;margin-bottom:8px;}#room .intelligence-editor>header small{font-size:7.5px;}#room .intelligence-editor>header b{font-size:8.5px;}#room .intelligence-editor>header em{font:700 20px var(--mono);}
#room .ai-recommendation{padding:11px 12px 0;}#room .ai-recommendation>header{font-size:7.5px;}#room .ai-recommendation>h3{margin:8px 0 5px;font-size:12.5px;}#room .ai-recommendation>p{font-size:9px;line-height:1.5;}#room .ai-recommendation__gate{margin-top:9px;padding:8px 9px;}#room .ai-recommendation__gate small{font-size:6.5px;}#room .ai-recommendation__gate b{font-size:8px;}#room .ai-recommendation .stage-side-actions--right{margin-inline:-12px;}
#room .dock .dpanel{inset:0;width:100%;right:auto;box-sizing:border-box;overflow-y:auto;z-index:40;}
#room .wing>.stage-brief{position:relative;padding-bottom:calc(var(--workspace-action-height) + 8px);}
#room .stage-side-actions--left{position:absolute;left:0;right:0;bottom:0;margin:0;padding-inline:12px;z-index:3;}
#room .ai-recommendation{overflow:hidden;padding-bottom:calc(var(--workspace-action-height) + 8px);}
#room .stage-side-actions--right{position:absolute;left:0;right:0;bottom:0;margin:0!important;z-index:3;}

@media (max-height:780px) and (min-width:961px){
  #room .smart-rail-head__next{display:none;}
  #room .wing>.stage-brief>p{display:none;}
  #room .wing .stage-memory{gap:2px;margin-top:5px;}#room .wing .stage-memory section{padding-top:3px;}#room .wing .stage-memory__row{padding:2px 0;}
  #room .stage-missing,#room .stage-sources{margin-top:3px;padding-top:3px;}#room .stage-missing>div,#room .stage-sources>div{padding-block:2px;}#room .stage-upload{min-height:34px;margin-top:3px!important;padding:4px!important;}
  #room .rail-canvas{margin-top:6px;}#room .rail-canvas>header{padding-block:5px;}#room .rail-canvas__grid{padding:4px;}#room .rail-canvas__grid>section{grid-template-rows:auto repeat(4,18px);gap:2px;}#room .rail-canvas__grid>section>div b{display:none;}#room .rail-canvas__solution{padding-block:4px;}#room .rail-canvas>footer{padding-block:4px;}
  #room .intelligence-editor{margin-top:6px;padding-block:6px;}#room .intelligence-editor>header{margin-bottom:5px;}#room .intelligence-editor>header b{display:none;}#room .analysis-record{min-height:34px;padding-block:3px;}#room .analysis-record__body>span{display:none;}#room .analysis-record__body>i{margin-block:3px;}
  #room .ai-recommendation{padding-top:7px;}#room .ai-recommendation>h3{margin-block:5px 3px;}#room .ai-recommendation__gate{margin-top:5px;padding-block:5px;}
}
@media (max-width:960px){
  #room .wing,#room .dock{display:none!important;}
  #room .rzone{display:flex!important;}
  #room .cchat{width:100%;flex:1 1 auto;}
}
