/* Jasmine: one conversation, four directed levels, one active operation. */
#jasmine .project-visual { grid-column:1/13; grid-row:3; align-self:start; margin:32px 12px 25px; transform:none; }
#jasmine .project-copy { grid-column:7/13; grid-row:4; padding-top:14px; max-width:560px; }
#jasmine .project-note { top:3%; left:1%; right:auto; }
#jasmine .project-star { top:22%; right:1%; width:58px; }
.jasmine-exhibit { --jasmine-progress:1; display:grid; grid-template-columns:minmax(0,.39fr) minmax(0,.61fr); gap:26px; align-items:start; min-height:620px; position:relative; transform:rotate(-.65deg); transform-origin:50% 50%; transition:transform .26s cubic-bezier(.2,.65,.3,1); color:var(--ink); text-rendering:geometricPrecision; pointer-events:none; user-select:none; }
#jasmine[data-exhibit-active='true'] .jasmine-exhibit { transform:translateY(-3px) rotate(-1.3deg) scale(1.01); }
.jasmine-chat { min-width:0; border:1px solid #b69ab0; background:#faf8fc; box-shadow:5px 6px 0 #dab6d037; }
.jasmine-chat>header { display:flex; align-items:center; gap:10px; padding:11px 14px; border-bottom:1px solid #decddd; background:linear-gradient(110deg,#f4d4e9,#f2eaf6); }
.jasmine-avatar { width:29px; height:29px; display:grid; place-items:center; border:1px solid #b889aa; background:#f8e6f2; font:italic 29px/1 Georgia,serif; }
.jasmine-chat header strong { display:block; font-size:13px; }
.jasmine-chat header small { display:block; font:9px/1.5 var(--mono); color:#6c5976; }
.jasmine-demo { margin-left:auto; font:9px var(--mono); color:#74546e; }
.jasmine-messages { display:grid; gap:10px; padding:12px; }
.jasmine-turn { display:grid; gap:7px; min-width:0; }
.jasmine-turn[hidden],.jasmine-message[hidden],.jasmine-node[hidden] { display:none!important; }
.jasmine-message { font:12px/1.5 var(--sans); min-width:0; overflow-wrap:anywhere; }
.jasmine-message small { display:block; margin-bottom:4px; color:#806b83; font:9px var(--mono); }
.jasmine-message p { margin:0; }
.jasmine-message--user { margin-left:19px; border:1px solid #e9c7df; padding:8px 10px; border-radius:9px 9px 0 9px; background:#f5e6f0; }
.jasmine-message--user::after { content:'';display:block;clear:both; }
.jasmine-message--reply { padding:2px 3px; }
.jasmine-workout { list-style:none; padding:6px 8px; margin:7px 0 0; border-left:2px solid var(--pink); background:#f5edf7; font-size:11px; line-height:1.65; }
.jasmine-food { width:62px; height:62px; float:left; object-fit:cover; margin:0 9px 3px 0; border:1px solid #d7c8dc; border-radius:3px; }
.jasmine-macros { font:10px/1.6 var(--mono); margin-top:4px!important; color:#6c4571; }
.jasmine-chat>footer { padding:9px 13px; border-top:1px solid #e4dbe8; font:9px/1.6 var(--mono); color:#775d79; }
.jasmine-mobile-final { display:none; }
.jasmine-graph { min-width:0;width:100%;max-width:640px;justify-self:center; }
.jasmine-graph-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:0 0 20px; min-height:25px; }
.jasmine-graph-heading h4 { font:600 13px var(--sans); }
.jasmine-graph-heading>.mono { font-size:9px; color:#655c73; }
.jasmine-graph-canvas { position:relative;isolation:isolate; height:var(--graph-height,460px); }
.jasmine-wires { position:absolute; inset:0; width:100%;height:100%; overflow:visible; z-index:1; }
.jasmine-exhibit:not([data-enhanced]) .jasmine-wires,.jasmine-exhibit:not([data-enhanced]) .jasmine-node,.jasmine-exhibit:not([data-enhanced]) .jasmine-layers { display:none; }
.jasmine-orbital-field { position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden; }
.jasmine-orbital-field>svg { display:block;width:100%;height:100%; }
.jasmine-celestial-rings>* { vector-effect:non-scaling-stroke; }
.jasmine-exhibit:not([data-enhanced]) .jasmine-orbital-field { display:none; }
.jasmine-layers { z-index:1; }
.jasmine-static { position:relative;z-index:1;display:block;width:100%;height:100%;overflow:visible; }
.jasmine-static--mobile { display:none; }
.jasmine-exhibit[data-enhanced] .jasmine-static { display:none; }
.jasmine-static>path { fill:none;stroke:#bca5b9;stroke-width:1.2; }
.jasmine-static rect { fill:#f8eff6;stroke:#bca5b9;stroke-width:1; }
.jasmine-static text { fill:#51465b;font:12px var(--mono);text-anchor:middle; }
.jasmine-static marker path { fill:#a18d9f; }
.jasmine-lines path { fill:none;stroke:#c1c2cf;stroke-width:1.2; }
.jasmine-lines path[data-status='completed'] { stroke:#bca1b5; }
.jasmine-lines path[data-status='active'] { stroke:var(--blue);stroke-width:2; }
.jasmine-lines path[data-feedback='true'] { stroke-dasharray:3 3; }
#jasmine-arrow path { fill:#aaa6b8; }#jasmine-arrow-active path { fill:var(--blue); }
.jasmine-signal { fill:var(--blue);stroke:#fff;stroke-width:2;visibility:hidden; }
.jasmine-photo-signal { visibility:hidden; }
.jasmine-layers { position:absolute;inset:0;pointer-events:none; }
.jasmine-layers>span { position:absolute;left:0;max-width:calc(17% - 12px);font:9px/1.3 var(--mono);color:#52465c; }
.jasmine-layers>span:nth-child(1) { top:-9px; }.jasmine-layers>span:nth-child(2) { top:18%; }.jasmine-layers>span:nth-child(3) { top:43%; }.jasmine-layers>span:nth-child(4) { top:72%; }
.jasmine-layers i { font-style:normal;color:#8e4878;margin-right:7px; }
.jasmine-node { --node-w:124px;--node-h:76px;position:absolute;left:calc(var(--x)*1% - var(--node-w)/2);top:calc(var(--y)*1% - var(--node-h)/2);width:var(--node-w);height:var(--node-h);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 8px;border:1px solid #c5a3bc;background:#fcf9fc;border-radius:2px;box-shadow:inset 0 1px 0 #fff; }
.jasmine-node b { font:500 12px/1.3 var(--mono);color:#3b3549;text-align:center; }
.jasmine-node-detail { font:11px/1.4 var(--sans);text-align:center;max-width:100%;overflow-wrap:anywhere;color:#6c6376; }
.jasmine-node-number { position:absolute;left:6px;top:4px;font:8px/1 var(--mono);color:#8b7087; }
.jasmine-node-check { position:absolute;right:5px;top:3px;font:10px var(--mono);color:#9b6f90;visibility:hidden; }
.jasmine-node[data-jasmine-node='context'] { --node-w:140px; }
.jasmine-node[data-jasmine-node='planner'] { --node-w:142px;--node-h:86px;border-radius:25px 8px 28px 10px;background:radial-gradient(ellipse at 25% 15%,#fff 0%,#f0ddea 48%,#e9e9f1 78%,#fff 100%);border-color:#b896b1; }
.jasmine-node[data-jasmine-node='tool'] { --node-w:138px;--node-h:82px;border-radius:3px; }
.jasmine-node[data-role='vision'] { background:#edf1fc; }
.jasmine-node[data-jasmine-node='observation'] { --node-w:124px;--node-h:74px;background:#fcf9fc;border-style:dotted; }
.jasmine-node[data-jasmine-node='validation'] { --node-w:116px;--node-h:72px; }
.jasmine-node[data-jasmine-node='save'] { --node-w:140px;--node-h:76px;border-radius:50%/14%;background:linear-gradient(100deg,#e6e7ee,#fcfcff 45%,#e7e6ee); }
.jasmine-node[data-jasmine-node='outbox'] { --node-w:112px;--node-h:64px; }
.jasmine-node[data-jasmine-node='reply'] { --node-w:130px;--node-h:76px;border-radius:3px 14px 14px 3px; }
.jasmine-node[data-status='completed'] { border-color:#c5a3bc;background:#f9eff6; }
.jasmine-node[data-status='completed'] .jasmine-node-check { visibility:visible; }
.jasmine-node[data-status='active'] { border-color:var(--blue);background:#f0f4ff;box-shadow:0 0 0 2px #315bff12,inset 0 1px 0 #fff; }
.jasmine-node[data-status='active'] b,.jasmine-node[data-status='active'] .jasmine-node-detail { color:#2447af; }
.jasmine-node[data-status='error'] { border-color:#9f466f;background:#fbecf3; }
.jasmine-trace { position:relative;min-height:87px;margin-top:5px;padding:11px 0 0;border-top:1px solid #d1c6d5; }
.jasmine-trace>div { display:flex;justify-content:space-between;gap:10px;font:11px/1.4 var(--sans); }
.jasmine-step { font-size:10px;color:#82718b; }
.jasmine-operation { margin:7px 0 9px;min-height:18px;font:11px/1.5 var(--mono);color:#3d52a1;overflow-wrap:anywhere; }
.jasmine-trace-progress { display:block;height:2px;background:#e4dce9; }
.jasmine-trace-progress i { display:block;height:100%;transform:scaleX(var(--jasmine-progress));transform-origin:left;background:linear-gradient(90deg,var(--pink),var(--blue)); }
.jasmine-outcomes { display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:8px;font:9px/1.4 var(--mono);color:#825b79; }
.jasmine-outcomes span::before { content:'✓ '; }
@media(max-width:1100px) and (min-width:901px) { .jasmine-exhibit { grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:20px; }.jasmine-node { --node-w:100px; }.jasmine-node[data-jasmine-node='planner'] { --node-w:112px; }.jasmine-node[data-jasmine-node='context'] { --node-w:112px; }.jasmine-node[data-jasmine-node='tool'] { --node-w:108px; }.jasmine-node[data-jasmine-node='observation'] { --node-w:100px; }.jasmine-node[data-jasmine-node='save'] { --node-w:110px; }.jasmine-node[data-jasmine-node='reply'] { --node-w:104px; } }
@media(max-width:900px) {
  #jasmine .project-visual { grid-column:1/7;grid-row:3;margin:76px 4px 20px; }
  #jasmine .project-copy { grid-column:1/7;grid-row:4;padding:15px 0 20px; }
  #jasmine .project-note { top:15px;left:0; }
  .jasmine-exhibit { grid-template-columns:1fr;gap:17px;min-height:780px;align-content:start;transform:rotate(-.35deg); }
  #jasmine[data-exhibit-active='true'] .jasmine-exhibit { transform:translateY(-2px) rotate(-.7deg) scale(1.004); }
  .jasmine-chat>header { padding:8px 11px;gap:8px; }
  .jasmine-avatar { width:24px;height:24px;font-size:24px; }
  .jasmine-messages { display:grid;position:relative;padding:10px; }
  /* All scenes reserve their natural maximum; only the current one is painted. */
  .jasmine-messages>.jasmine-turn,.jasmine-mobile-final { grid-area:1/1;align-self:start; }
  .jasmine-messages>.jasmine-turn[hidden] { display:grid!important;visibility:hidden; }
  .jasmine-messages .jasmine-message[hidden] { display:block!important;visibility:hidden; }
  .jasmine-turn { position:static;align-content:start;gap:7px; }
  .jasmine-exhibit[data-scene='1'] .jasmine-turn:not([data-jasmine-turn='1']),.jasmine-exhibit[data-scene='2'] .jasmine-turn:not([data-jasmine-turn='2']),.jasmine-exhibit[data-scene='3'] .jasmine-turn:not([data-jasmine-turn='3']) { visibility:hidden; }
  .jasmine-exhibit[data-state='complete'] .jasmine-turn { visibility:hidden; }
  .jasmine-mobile-final { display:grid;gap:9px;font:10px/1.45 var(--sans);visibility:hidden; }
  .jasmine-exhibit[data-state='complete'] .jasmine-mobile-final { visibility:visible; }
  .jasmine-mobile-final strong { display:block;color:#8b4e79;font-size:10px;margin-bottom:3px; }
  .jasmine-mobile-final p { margin:0; }.jasmine-mobile-final ul { margin:3px 0 0;padding-left:12px;font-size:9px; }.jasmine-mobile-final span { display:block;margin-top:3px;font:9px var(--mono); }
  .jasmine-mobile-final>div { display:flow-root; }.jasmine-final-food { float:right;width:40px;height:40px;object-fit:cover;margin:0 0 2px 6px;border-radius:3px; }
  .jasmine-message { font-size:11px;line-height:1.45; }.jasmine-message small { display:none; }
  .jasmine-message--user { padding:7px 8px;margin-left:12px; }.jasmine-message--reply { padding:2px; }
  .jasmine-workout { font-size:10px;line-height:1.5;padding:4px 7px;margin-top:4px; }
  .jasmine-food { width:53px;height:53px;margin-right:7px; }.jasmine-macros { font-size:9px; }
  .jasmine-chat>footer { font-size:8px;padding:7px 10px; }
  .jasmine-graph { max-width:none; }.jasmine-graph-heading { margin-bottom:9px; }.jasmine-graph-heading h4 { font-size:12px; }.jasmine-graph-heading>.mono { font-size:8px; }
  .jasmine-graph-canvas { height:280px; }
  .jasmine-layers { display:none; }
  .jasmine-node,.jasmine-node[data-jasmine-node] { --node-w:116px;--node-h:73px;padding:10px 9px; }
  .jasmine-node[data-jasmine-node='planner'] { --node-w:120px;--node-h:75px; }
  .jasmine-node[data-jasmine-node='save'] { --node-w:118px; }
  .jasmine-node b { font-size:11px;line-height:1.4; }.jasmine-node-detail { font-size:10.5px;line-height:1.4; }
  .jasmine-trace { min-height:82px; }.jasmine-outcomes { font-size:8px; }
  .jasmine-static--desktop { display:none; }.jasmine-static--mobile { display:block; }
}
@media(prefers-reduced-motion:reduce) {
  .jasmine-exhibit,.jasmine-exhibit * { transition:none!important;animation:none!important; }
  #jasmine[data-exhibit-active] .jasmine-exhibit { transform:rotate(-.65deg); }
}

/* The reply delivery is the climax; lifecycle time also drives its pause/resume. */
.jasmine-lines path[data-target='chat'] { stroke-width:2; }
.jasmine-lines path[data-delivering='true'] { stroke:url(#jasmine-return-gradient);stroke-width:2.4; }
#jasmine-arrow-return path { fill:#d981b7; }
.jasmine-signal[data-delivering='true'] { fill:#df86bb;filter:drop-shadow(0 0 4px #d981b7aa); }
.jasmine-message--reply { opacity:var(--reply-opacity,1); }
.jasmine-message--reply[data-pending='true'] { visibility:hidden; }
.jasmine-chat { box-shadow:5px 6px 0 #dab6d037,0 0 0 2px rgb(217 129 183 / var(--arrival-glow,0)); }

/* Pearl and etched database details stay inside the unchanged card bounds. */
.jasmine-node[data-jasmine-node='planner'][data-status='completed'] { background:radial-gradient(ellipse at 25% 15%,#fff,#efdbea 55%,#e8e8f0); }
.jasmine-node[data-jasmine-node='planner'][data-status='active'] { background:radial-gradient(ellipse at 25% 15%,#fff,#edf0ff 55%,#e5e4f2); }
.jasmine-node[data-jasmine-node='save']::before { content:'';position:absolute;left:2px;right:2px;top:3px;height:12px;border-bottom:1px solid #bca1b566;border-radius:50%;pointer-events:none; }

/* Celestial depth stays below the execution trace, like a paper watermark. */
.jasmine-celestial-rings>* { stroke-width:.65;opacity:.16; }
.jasmine-celestial-rings>path { opacity:.2; }
.jasmine-orbital-art>ellipse { opacity:.72; }
.jasmine-node[data-status='idle'],.jasmine-node[data-status='inactive'] { border-color:#c9c4ce;background:#faf9fc;box-shadow:none; }
.jasmine-node[data-status='idle'] .jasmine-node-detail,.jasmine-node[data-status='inactive'] .jasmine-node-detail { color:#746d7e; }
.jasmine-node[data-status='completed'] { border-color:#c8b9c5;background:#f7f2f6; }
.jasmine-node[data-jasmine-node='planner'][data-status='completed'] { background:radial-gradient(ellipse at 25% 15%,#fff,#f4eaf1 55%,#ededf3); }
