/* ══════════════════════════════════════════════════════════════
   mocks.css — the app, drawn in HTML. Lifted verbatim from index.html:
   the three deck panels (team picker, rooms thread, the board) and
   the four memory scenes. New mocks for the guides sit at the end.
   ══════════════════════════════════════════════════════════════ */
/* ── the three panels ── */
.tb-pnl{position:relative;overflow:hidden;isolation:isolate;border-radius:40px;color:var(--ink);
  --p1:#B4DBF3;--p2:#9FCFEC;--pg:107,189,234;--pb:#F1F9FE;
  background-image:linear-gradient(148deg,var(--p1) 0%,var(--p1) 34%,var(--p2) 100%);
  box-shadow:0 10px 26px rgba(40,44,60,.10),0 1px 2px rgba(40,44,60,.06)}
/* the other texture: near-white with a soft bloom, like the community cards */
.tb-pnl.tb-bloom{background-image:
  radial-gradient(ellipse 74% 54% at 50% 16%,rgba(var(--pg),.34),transparent 76%),
  radial-gradient(ellipse 70% 34% at 48% 98%,rgba(var(--pg),.10),transparent 66%),
  linear-gradient(150deg,#fff,var(--pb));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 18px 44px rgba(38,46,92,.14)}
.tb-pnl.tb-bloom::after{display:none}
.tb-pnl.tb-bloom .tb-sub{box-shadow:0 8px 20px rgba(38,46,92,.10),0 0 0 1px rgba(38,46,92,.05)}

.tb-in{position:relative;z-index:1;padding:52px 56px 56px}
.tb-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}

.tb-eye{font:600 12px/1 "Inter",system-ui,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(20,33,46,.55);margin:0 0 20px}
.tb-pnl .tb-head h2{font-family:"Outfit","Inter",sans-serif;font-weight:700;font-size:clamp(32px,3.4vw,48px);
  line-height:1.05;letter-spacing:-.035em;margin:0 0 14px;max-width:18ch;text-wrap:balance}
.tb-lead{margin:0;font-size:17px;line-height:1.55;color:rgba(20,33,46,.72);max-width:46ch}
.tb-btn{flex:none;display:inline-flex;align-items:center;height:46px;padding:0 22px;border-radius:999px;
  background:rgba(255,255,255,.82);font:600 15px "Inter",sans-serif;color:var(--ink);
  text-decoration:none;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 6px 16px rgba(20,33,46,.10)}

.tb-board{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.tb-sub{background:rgba(255,255,255,.76);border-radius:22px;padding:22px 22px 24px}

.tb-sub h3{margin:0;font:600 15.5px "Inter",sans-serif;letter-spacing:-.01em;color:var(--ink)}
.tb-hair{height:1px;background:rgba(20,33,46,.12);margin:14px 0 16px}
.tb-sub p{margin:14px 0 0;font-size:13.5px;line-height:1.5;color:rgba(20,33,46,.6)}

/* the connected row: the masked key is the most convincing detail we have */
.tb-prow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;
  margin-bottom:18px}
.tb-pmark{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:13px;
  background:linear-gradient(168deg,#2E2E2E,#080808);
  box-shadow:0 6px 14px rgba(16,24,40,.22),inset 0 1px 0 rgba(255,255,255,.26)}
.tb-pmark svg{width:24px;height:24px}.tb-pmark svg path{fill:#fff}
.tb-pcopy strong{display:block;font-size:15.5px;letter-spacing:-.015em;color:#172033}
.tb-pcopy code{display:block;margin-top:5px;color:#647084;
  font:500 12.5px/1.25 "Inter",system-ui,sans-serif;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.tb-stat{display:inline-flex;align-items:center;gap:7px;color:#287a4c;font-size:12px;font-weight:700;
  white-space:nowrap}
.tb-stat::before{content:"";width:8px;height:8px;border-radius:50%;background:#35a663;
  box-shadow:0 0 0 4px rgba(53,166,99,.12)}

/* the picker, lifted from the first version */
.tb-mpick{width:100%}
.tb-mchip{width:max-content;max-width:100%;margin:0 0 9px 10px;padding:9px 12px;display:inline-flex;
  align-items:center;gap:9px;border:1px solid rgba(44,58,79,.13);border-radius:11px;
  background:rgba(255,255,255,.95);box-shadow:0 6px 16px rgba(29,48,79,.08);color:#243044;
  font-size:13px;font-weight:700}
.tb-ldot{width:9px;height:9px;flex:none;border-radius:50%;background:#4c9c74;
  box-shadow:0 0 0 4px rgba(76,156,116,.13)}
.tb-chev{width:6px;height:6px;margin-left:4px;border-right:1.6px solid #6b7586;
  border-bottom:1.6px solid #6b7586;transform:rotate(45deg) translateY(-2px)}
.tb-mmenu{border:1px solid rgba(44,58,79,.11);background:rgba(255,255,255,.92);border-radius:16px;
  padding:9px;box-shadow:0 10px 24px rgba(29,48,79,.10)}
.tb-mopt{position:relative;padding:13px 44px 13px 13px;display:flex;align-items:center;gap:12px;
  border-radius:11px;background:#f1f7f4;box-shadow:inset 0 0 0 1px rgba(48,112,81,.11)}
.tb-micon{width:44px;height:44px;display:grid;place-items:center;flex:none;border-radius:13px;
  background:#fff;box-shadow:0 4px 10px rgba(16,24,40,.10),0 0 0 1px rgba(16,24,40,.06)}
.tb-micon svg{width:25px;height:25px}.tb-micon svg path{fill:rgba(20,33,46,.82)}
.tb-mcopy strong{display:block;font-size:14.5px;letter-spacing:-.012em;color:#172033}
.tb-mcopy code{display:block;margin-top:4px;color:#557062;
  font:500 12.5px/1.3 "Inter",system-ui,sans-serif}
.tb-chk{position:absolute;top:50%;right:14px;width:20px;height:20px;display:grid;place-items:center;
  border-radius:50%;background:#367b56;color:#fff;font-size:11px;font-weight:800;
  transform:translateY(-50%)}

/* the cloud picker: same component, its menu lists the other providers */
.tb-mstack{display:grid;gap:16px}
.tb-ldot--cloud{background:#4C79C9;box-shadow:0 0 0 4px rgba(76,121,201,.14)}
.tb-mopt--cloud{background:#eef3fb;box-shadow:inset 0 0 0 1px rgba(48,84,140,.12)}
.tb-mopt--cloud .tb-chk{background:#3B66B8}
.tb-mopt--cloud .tb-mcopy code{color:#5A7096}
.tb-mopt--off{background:none;box-shadow:none;padding-top:11px;padding-bottom:11px}
.tb-mopt--off .tb-mcopy strong{color:#3D4B60}
.tb-mopt--off .tb-mcopy code{color:#7E8CA0}
.tb-mopt--off .tb-micon{box-shadow:0 3px 8px rgba(16,24,40,.10),inset 0 0 0 1px rgba(16,24,40,.06)}
.tb-mmore{padding:9px 13px 4px;font:600 12px "Inter",sans-serif;color:#6B7789}

.tb-kstate{margin-left:auto;padding:5px 10px;border-radius:8px;background:rgba(20,33,46,.06);
  font:600 11.5px "Inter",sans-serif;color:#6B7789;white-space:nowrap}
.tb-kstate--on{background:rgba(53,166,99,.15);color:#287a4c}
.tb-mopt--off .tb-micon svg path{fill:rgba(20,33,46,.82)}

/* every provider, beside the chip that names the chosen one */
.tb-pickhead{display:flex;align-items:center;gap:14px;margin:0 0 9px 10px;flex-wrap:wrap}
.tb-pickhead .tb-mchip{margin:0}
.tb-strip{display:flex;gap:9px;margin-left:auto}
.tb-strip i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none;
  background:#fff;
  box-shadow:0 4px 10px rgba(16,24,40,.10),0 0 0 1px rgba(16,24,40,.06)}

.tb-strip svg{width:27px;height:27px}.tb-strip svg path{fill:rgba(20,33,46,.82)!important}

/* the plan is a choice too, so it uses the same picker as the other two */
.tb-ptile{width:44px;height:44px;display:grid;place-items:center;flex:none;border-radius:13px;
  background:#fff;box-shadow:0 4px 10px rgba(16,24,40,.10),0 0 0 1px rgba(16,24,40,.06);
  font:700 15px "Inter",sans-serif;letter-spacing:-.03em;color:#1B2637}
.tb-upg{margin-left:auto;padding:6px 11px;border-radius:8px;background:rgba(20,33,46,.06);
  white-space:nowrap;font:600 12.5px/1 "Inter",sans-serif;color:#5C6B80}
.tb-upg b{font-weight:700;color:#1B2637}

.tb-rcost{margin-left:auto;font:700 15px/1 "Inter",system-ui,sans-serif;color:#8C6A2E;
  white-space:nowrap;padding-right:2px}

@media (max-width:1000px){
    .tb-in{padding:36px 26px 40px}
  .tb-head{flex-direction:column;align-items:flex-start;gap:22px}
  .tb-board{grid-template-columns:1fr}

}


/* ═════ group 2, while you work: transplanted from group-2.html ═════ */

.g2-wrap{--ink:#14212E;width:min(1240px,calc(100% - 96px));margin:96px auto 24px}

.g2-pnl{position:relative;overflow:hidden;isolation:isolate;border-radius:40px;color:var(--ink);
  background-image:linear-gradient(148deg,#C3B6EC 0%,#C3B6EC 34%,#AFA0E2 100%);
  box-shadow:0 10px 26px rgba(40,44,60,.10),0 1px 2px rgba(40,44,60,.06)}
.g2-in{position:relative;z-index:1;padding:52px 56px 56px}
.g2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:26px}
.g2-eye{font:600 12px/1 "Inter",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(20,33,46,.55);margin:0 0 20px}
.g2-head h2{font-family:"Outfit","Inter",sans-serif;font-weight:700;font-size:clamp(32px,3.4vw,48px);
  line-height:1.05;letter-spacing:-.035em;margin:0 0 14px;max-width:18ch;text-wrap:balance}
.g2-lead{margin:0;font-size:17px;line-height:1.55;color:rgba(20,33,46,.72);max-width:46ch}
.g2-btn{flex:none;display:inline-flex;align-items:center;height:46px;padding:0 22px;border-radius:999px;
  background:rgba(255,255,255,.82);font:600 15px "Inter",sans-serif;color:var(--ink);
  text-decoration:none;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 6px 16px rgba(20,33,46,.10)}

/* the one question */
.g2-q{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:15px 20px;border-radius:18px;
  background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(29,48,79,.10)}
.g2-q .g2-you{width:36px;height:36px;border-radius:50%;background:#1B2637;color:#fff;display:grid;
  place-items:center;font:700 13px "Inter",sans-serif;flex:none}
.g2-q p{margin:0;font-size:17px;font-weight:500;color:#1B2637}
.g2-q .g2-to{margin-left:auto;font:600 12.5px "Inter",sans-serif;color:rgba(20,33,46,.5);white-space:nowrap}

/* three columns */
.g2-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:stretch}
.g2-sub{background:rgba(255,255,255,.76);border-radius:22px;padding:22px 20px 22px;
  display:flex;flex-direction:column;min-width:0}
.g2-sub h3{margin:0;font:600 15.5px "Inter",sans-serif;letter-spacing:-.01em;color:var(--ink)}
.g2-hair{height:1px;background:rgba(20,33,46,.12);margin:14px 0 16px}
.g2-sub .g2-note{margin:auto 0 0;padding-top:18px;font-size:13.5px;line-height:1.5;color:rgba(20,33,46,.6)}

/* faces: the app's abstract set */
.g2-av{width:34px;height:34px;border-radius:50%;flex:none;object-fit:cover;display:block;
  box-shadow:0 0 0 2px #fff}
.g2-av--sys{background:#1B2637;display:grid;place-items:center}
.g2-av--sys svg{width:16px;height:14px}.g2-av--sys polygon{fill:#fff}
.g2-body b{font-weight:700;color:#172033}
.g2-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.g2-chip{padding:5px 10px;border-radius:8px;background:rgba(20,33,46,.06);
  font:600 11px "Inter",sans-serif;color:#3D4B60;white-space:nowrap}

/* turns */
.g2-thread{display:flex;flex-direction:column;gap:12px}
.g2-you{align-self:flex-end;max-width:86%;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.g2-youBubble{padding:10px 14px;border-radius:18px 18px 6px 18px;font-size:14px;line-height:1.45;
  background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;
  box-shadow:0 4px 14px rgba(29,78,216,.22)}
.g2-youMeta{font:600 10.5px "Inter",sans-serif;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(20,33,46,.45);padding-right:4px}
.g2-row{display:flex;align-items:flex-start;gap:10px}
.g2-card{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:12px 14px;
  border-radius:4px 18px 18px 18px;background:#fff;
  box-shadow:0 4px 12px rgba(29,48,79,.07),0 0 0 1px rgba(20,33,46,.05)}
.g2-who{display:flex;align-items:baseline;gap:7px;min-width:0}
.g2-name{font-size:14px;font-weight:700;letter-spacing:-.1px;white-space:nowrap;color:#172033}
.g2-role{font-size:11.5px;color:#7E8CA0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g2-body{font-size:14px;line-height:1.5;color:#3D4B60}
.g2-tag{margin-left:auto;padding:3px 8px;border-radius:7px;font:600 10.5px "Inter",sans-serif;white-space:nowrap}
.g2-tag--done{background:rgba(53,166,99,.15);color:#287a4c;letter-spacing:.08em}
.g2-tag--act{background:rgba(29,78,216,.09);color:#1d4ed8}
.g2-tag--mem{background:rgba(20,33,46,.06);color:#5C6B80}

.g2-coach{margin:14px 0 8px;font:500 12px "Inter",sans-serif;color:rgba(20,33,46,.55)}
.g2-box{border-radius:16px;padding:6px 8px 8px;background:#fff;
  box-shadow:0 4px 14px rgba(29,48,79,.08),0 0 0 1px rgba(20,33,46,.06)}
.g2-ph{padding:8px 8px 8px;font-size:13.5px;color:rgba(20,33,46,.42)}
.g2-bar{display:flex;align-items:center;gap:10px;min-width:0;padding:2px 2px 2px 4px}
.g2-cast{display:inline-flex;align-items:center;flex:none}
.g2-cast .g2-av{width:30px;height:30px}
.g2-cast .g2-av + .g2-av{margin-left:-7px}
.g2-cast .g2-av.g2-next{box-shadow:0 0 0 2px #fff,0 0 0 4px #1d4ed8;position:relative;z-index:1}
.g2-add{width:24px;height:24px;margin-left:6px;border-radius:50%;border:1.5px dashed rgba(20,33,46,.3);
  display:grid;place-items:center;color:rgba(20,33,46,.45);font:700 13px/1 "Inter",sans-serif;flex:none}
.g2-readout{min-width:0;flex:1;font:400 12px/1.35 "Inter",sans-serif;color:rgba(20,33,46,.62)}
.g2-readout b{font-weight:650;color:#172033}
.g2-send{width:28px;height:28px;border-radius:50%;background:#1d4ed8;flex:none;display:grid;place-items:center}
.g2-send::after{content:"";width:7px;height:7px;border-top:2px solid #fff;border-right:2px solid #fff;
  transform:rotate(-45deg) translate(-1px,1px)}

@media (max-width:1000px){
  .g2-wrap{width:calc(100% - 36px)}
  .g2-in{padding:36px 26px 40px}
  .g2-head{flex-direction:column;align-items:flex-start;gap:22px}
  .g2-cols{grid-template-columns:1fr}
}

/* ═════ group 1, before you start: transplanted from group-1.html ═════ */

.g1-wrap{--ink:#14212E;width:min(1240px,calc(100% - 96px));margin:96px auto 0}

.g1-pnl{position:relative;overflow:hidden;isolation:isolate;border-radius:40px;color:var(--ink);
  background-image:linear-gradient(148deg,#C6DFD0 0%,#C6DFD0 34%,#B4D5C1 100%);
  box-shadow:0 10px 26px rgba(40,44,60,.10),0 1px 2px rgba(40,44,60,.06)}
.g1-in{position:relative;z-index:1;padding:52px 56px 56px}
.g1-eye{font:600 12px/1 "Inter",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(20,33,46,.55);margin:0 0 20px;text-align:center}
.g1-wrap h2{font-family:"Outfit","Inter",sans-serif;font-weight:700;font-size:clamp(32px,3.4vw,48px);
  line-height:1.05;letter-spacing:-.035em;margin:0 auto 12px;text-align:center;text-wrap:balance}
.g1-wrap h2 span{color:#4466B0}
.g1-lead{margin:0 auto 30px;font-size:17px;line-height:1.55;color:rgba(20,33,46,.72);text-align:center;max-width:52ch}

.g1-grid{display:grid;grid-template-columns:5fr 8fr;gap:16px;align-items:stretch}
.g1-left{display:flex;flex-direction:column;gap:12px}

/* starter tiles, as the app draws them */
.g1-tile{position:relative;flex:1;padding:18px 20px 18px;border-radius:18px;background:rgba(255,255,255,.76);min-width:0}
.g1-tile .g1-cnt{position:absolute;right:18px;top:16px;font:500 12.5px "Inter",sans-serif;color:rgba(20,33,46,.5)}
.g1-faces{display:inline-flex;margin-bottom:10px}
.g1-faces img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 3px 8px rgba(20,33,46,.12)}
.g1-faces img + img{margin-left:-12px}
.g1-tile b{display:block;font:700 16.5px "Inter",sans-serif;letter-spacing:-.015em;color:#172033;margin-bottom:4px}
.g1-tile small{display:block;font:400 13px/1.45 "Inter",sans-serif;color:rgba(20,33,46,.6)}

/* build your own */
.g1-sub{background:rgba(255,255,255,.76);border-radius:22px;padding:22px 22px 20px;display:flex;flex-direction:column;min-width:0}
.g1-sub .g1-k{font:700 10.5px "Inter",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4466B0;margin:0 0 6px}
.g1-sub h3{margin:0 0 4px;font:700 17px "Inter",sans-serif;letter-spacing:-.015em;color:#172033}
.g1-sub .g1-d{margin:0 0 14px;font-size:13.5px;line-height:1.5;color:rgba(20,33,46,.6)}
.g1-chat{flex:1;display:flex;flex-direction:column;border-radius:16px;background:#fff;
  box-shadow:0 4px 14px rgba(29,48,79,.07),0 0 0 1px rgba(20,33,46,.06);padding:16px 16px 14px;min-height:300px}
.g1-lor{align-self:flex-start;max-width:80%;padding:12px 15px;border-radius:4px 18px 18px 18px;background:#F3F5FB;
  font-size:14px;line-height:1.5;color:#3D4B60}
.g1-compose{margin-top:auto;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px;
  background:#fff;box-shadow:0 0 0 2px #4466B0;font-size:14.5px;color:#172033}
.g1-compose .g1-send{margin-left:auto;width:30px;height:30px;border-radius:50%;background:#4466B0;flex:none;display:grid;place-items:center}
.g1-compose .g1-send::after{content:"";width:7px;height:7px;border-top:2px solid #fff;border-right:2px solid #fff;
  transform:rotate(-45deg) translate(-1px,1px)}
.g1-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;font-size:13px;color:rgba(20,33,46,.5)}
.g1-foot .g1-use{padding:11px 20px;border-radius:999px;background:#1B2637;color:#fff;font:600 14px "Inter",sans-serif}

@media (max-width:1000px){
  .g1-wrap{width:calc(100% - 36px)}
  .g1-in{padding:36px 26px 40px}
  .g1-grid{grid-template-columns:1fr}
}

/* ═════ hero window: transplanted from hero-window.html ═════ */
.shot--hero{--w:#DDE8F5;--t1:#0F172A;--t2:rgba(25,35,55,.62);--t3:rgba(25,35,55,.42);--hair:rgba(25,35,55,.12);--tint:rgba(25,35,55,.05);--blue:#2563EB;
  background:#DDE8F5;color:#0F172A;display:flex;flex-direction:column;text-align:left;
  font:400 16px/1.6 "Inter",system-ui,-apple-system,sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased;
  border:1px solid rgba(15,23,42,.10);box-shadow:0 30px 70px rgba(20,33,46,.16),0 2px 6px rgba(20,33,46,.06)}
.shot--hero p{max-width:none}
.shot--hero.hw-paused *{animation-play-state:paused!important}
/* ── compaction and hidden heads, as on the home deck ── */
/* ══════ panels compacted · spacing only, nothing shrinks ══════ */
.g1-in,.g2-in,.tb-in{padding-top:40px;padding-bottom:40px}
.g2-head{margin-bottom:18px}
.g2-q{margin-bottom:12px}
.g2-thread{gap:10px}
.g2-sub{padding-top:18px;padding-bottom:12px}
.g2-hair{margin-top:10px;margin-bottom:12px}
.g2-sub p.g2-note{padding-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px}
.tb-head{margin-bottom:20px}
.tb-sub{padding-top:18px;padding-bottom:18px}
.tb-board{gap:12px}

/* the panels hand their headline block to the nav; the link pins to the corner */
.g1-head,.g2-head,.tb-head{display:none}
.g1-pnl,.g2-pnl,.tb-pnl{position:relative}
.g1-btn,.g2-btn,.tb-btn{position:absolute;top:26px;right:32px;z-index:4;margin:0}
.g1-in{padding-top:56px}
.g2-in{padding-top:54px}
.tb-in{padding-top:34px}
@media (max-width:960px){
  .g1-head,.g2-head,.tb-head{display:flex}
  .g1-btn,.g2-btn,.tb-btn{position:static}
  .fb-title{display:none}
}

.g1-in>h2,.g1-lead,.g2-lead,.tb-lead,.g1-foot{display:none}
.g1-pnl,.g2-pnl,.tb-pnl{width:100%}
/* ── the stage and the four scenes ── */
/* ══ the stage, on the community-card treatment ══ */
.sd__stage{position:relative;isolation:isolate;overflow:hidden;height:390px;
  --glow:255,151,103;--base:#FFF9F5;
  border:1px solid rgba(37,52,76,.09);border-radius:28px;
  background:radial-gradient(ellipse at 52% 36%,rgba(var(--glow),.3),transparent 82%),
             linear-gradient(150deg,#fff,var(--base));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 12px 28px rgba(32,44,62,.08);
  transition:background .55s ease}
.sd__stage[data-scene="1"]{--glow:195,156,230;--base:#FAF5FF;
  background:radial-gradient(ellipse at 23% 24%,rgba(181,145,229,.23),transparent 76%),
             radial-gradient(ellipse at 85% 60%,rgba(244,160,192,.24),transparent 75%),
             linear-gradient(145deg,#fff,#FBF6FC)}
.sd__stage[data-scene="2"]{--glow:168,182,205;--base:#F2F4F7}
.sd__stage[data-scene="3"]{--glow:117,179,251;--base:#F2F7FF}
.sd__stage::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(ellipse at 48% 90%,rgba(var(--glow),.08),transparent 62%);
  background-size:100% 100%;background-repeat:no-repeat}

@media (max-width:960px){.sd__layout{grid-template-columns:1fr;gap:32px}.sd__sticky{position:static}.sd__step{min-height:0;opacity:1}}

.sd__pane{position:absolute;inset:38px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.sd__pane.is-active{opacity:1;transform:none}
.sd__pane.is-active .sd__inside .sd__line{animation:sd-line-in .65s both;transform-origin:left}
.sd__pane.is-active .sd__inside .sd__line:nth-child(2n){animation-delay:.1s}
.sd__pane.is-active .sd__inside .sd__line:nth-child(3n){animation-delay:.18s}
.sd__pane--one .sd__window{position:relative;width:82%;transform:translate(12px,12px)}
.sd__pane{inset:26px}
.sd__pane.is-active .g3-s1 .g3-cur{animation:s1-cur 2.2s cubic-bezier(.3,.1,.2,1) forwards}
.sd__pane.is-active .g3-s1__sync{animation:s1-btn 2.2s forwards}
.sd__pane.is-active .g3-s1__sync .a{animation:s1-a 2.2s forwards}
.sd__pane.is-active .g3-s1__done{animation:s1-b 2.2s forwards}
.sd__pane.is-active .g3-s1__faces .g3-face{animation:s1-face 1.2s 1.05s ease-in-out}
.sd__pane.is-active .g3-s1__faces .g3-face:nth-child(2){animation-delay:1.2s}.sd__pane.is-active .g3-s1__faces .g3-face:nth-child(3){animation-delay:1.35s}
.sd__pane.is-active .g3-s1__row{animation:s-in .5s cubic-bezier(.2,.9,.3,1.15) forwards}
.sd__pane.is-active .g3-s1__row:nth-child(3){animation-delay:1.7s}.sd__pane.is-active .g3-s1__row:nth-child(4){animation-delay:2.0s}
.sd__pane.is-active .g3-s1__row:nth-child(5){animation-delay:2.3s}.sd__pane.is-active .g3-s1__row:nth-child(6){animation-delay:2.6s}
.sd__pane.is-active .g3-s2__cnt em:nth-child(1){animation:s2-c1 12.0s infinite}
.sd__pane.is-active .g3-s2__cnt em:nth-child(2){animation:s2-c2 12.0s infinite}
.sd__pane.is-active .g3-s2__cnt em:nth-child(3){animation:s2-c3 12.0s infinite}
.sd__pane.is-active .g3-s2__cnt em:nth-child(4){animation:s2-c4 12.0s infinite}
.sd__pane.is-active .g3-s2__r1 .g3-s2__b--y{animation:s2-p1 12.0s infinite}
.sd__pane.is-active .g3-s2__r1 .g3-s2__q{animation:s2-q1 12.0s infinite}
.sd__pane.is-active .g3-s2__r1{animation:s2-row1 12.0s infinite}
.sd__pane.is-active .g3-s2__r1 .g3-s2__out--k{animation:s2-o1 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-s2__b--e{animation:s2-p2e 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-s2__b--y{animation:s2-p2y 12.0s infinite}
.sd__pane.is-active .g3-s2__r2{animation:s2-row2 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-s2__q{animation:s2-q2 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-add{animation:s2-add 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-add::after{animation:s2-caret 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-s2__out--ke{animation:s2-o2 12.0s infinite}
.sd__pane.is-active .g3-s2__r4 .g3-s2__b--n{animation:s2-p4 12.0s infinite}
.sd__pane.is-active .g3-s2__r4 .g3-s2__q{animation:s2-q4 12.0s infinite}
.sd__pane.is-active .g3-s2__r4{animation:s2-row4 12.0s infinite}
.sd__pane.is-active .g3-s2__r4 .g3-s2__out--n{animation:s2-o4 12.0s infinite}
.sd__pane.is-active .g3-s2 .g3-cur{animation:s2-cur 12.0s cubic-bezier(.3,.1,.2,1) infinite}
.sd__pane.is-active .g3-s3__graph .g3-ge{animation:s3-ge .6s .1s cubic-bezier(.2,.7,.2,1) forwards}
.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(2){animation-delay:.2s}.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(3){animation-delay:.3s}.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(4){animation-delay:.4s}.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(5){animation-delay:.5s}
.sd__pane.is-active .g3-s3__graph .g3-gn{animation:s3-gn .4s .1s cubic-bezier(.2,.9,.3,1.3) forwards}
.sd__pane.is-active .g3-s3__graph .g3-gn:nth-child(7){animation-delay:.2s}.sd__pane.is-active .g3-s3__graph .g3-gn:nth-child(8){animation-delay:.3s}.sd__pane.is-active .g3-s3__graph .g3-gn:nth-child(9){animation-delay:.4s}.sd__pane.is-active .g3-s3__graph .g3-gn--dec{animation-delay:.5s}
.sd__pane.is-active .g3-s3__graph .g3-gl{animation:s3-gl .3s .7s forwards}
.sd__pane.is-active .g3-s3__graph .g3-gn--dec{animation:s3-gn .4s .5s cubic-bezier(.2,.9,.3,1.3) forwards,s3-node 5s forwards}
.sd__pane.is-active .g3-s3__graph{animation:s3-graph 5s forwards}
.sd__pane.is-active .g3-s3__chat{animation:s3-chat .5s 4.0s cubic-bezier(.2,.7,.2,1) forwards}
.sd__pane.is-active .g3-s3__tag{animation:s-in .3s 4.8s forwards}
.sd__pane.is-active .g3-s3 .g3-cur{animation:s3-cur 5s cubic-bezier(.3,.1,.2,1) forwards}
.sd__pane.is-active .g3-s3__open{animation:s3-open 5s forwards}
.sd__pane.is-active .g3-s3__ln--hi::before{animation:s3-hi .6s 4.5s cubic-bezier(.2,.7,.2,1) forwards}
.sd__pane.is-active .g3-s3__card{animation:s3-card .45s 2.3s cubic-bezier(.2,.9,.3,1.2) forwards,s3-slide .5s 3.9s cubic-bezier(.2,.7,.2,1) forwards}
.sd__pane.is-active .g3-s4__win{animation:s-in .5s cubic-bezier(.2,.7,.2,1) forwards}
.sd__pane.is-active .g3-s4__win:nth-child(2){animation-delay:.35s}.sd__pane.is-active .g3-s4__win:nth-child(3){animation-delay:.7s}
.sd__pane.is-active .g3-s4__win:nth-child(1) .g3-s4__type{animation:s4-t 1.4s 1s steps(40) forwards}
.sd__pane.is-active .g3-s4__win:nth-child(2) .g3-s4__type{animation:s4-t 1.4s 2s steps(40) forwards}
.sd__pane.is-active .g3-s4__win:nth-child(3) .g3-s4__type{animation:s4-t 1.4s 3s steps(40) forwards}
/* ═════ group 3 scenes: transplanted from group-3-scenes.html ═════ */
/* ── four scenes, one per step ── */
.sd__pane{inset:26px}
.g3-sc{width:100%;font:400 13.5px/1.45 "Inter",system-ui,sans-serif;color:#0F172A}
.g3-sc svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.g3-k{padding:3px 7px;border-radius:6px;font:700 10px "Inter",sans-serif;letter-spacing:.08em;text-transform:uppercase;flex:none}
.g3-k--dec{background:rgba(167,139,250,.2);color:#6D4FD8}.g3-k--fac{background:rgba(96,165,250,.22);color:#1D4ED8}.g3-k--glo{background:rgba(45,212,191,.2);color:#0F766E}
.g3-face{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}

/* the pointer */
.g3-sc{position:relative}
.g3-cur{position:absolute;z-index:5;width:18px;height:22px;opacity:0;pointer-events:none;transform-origin:3px 3px}
.g3-cur svg{width:100%;height:100%;fill:#111;stroke:#fff;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}

/* 1 · the check-in: a click on Sync, then rows arrive */
.g3-s1{max-width:470px;margin:0 auto}
.g3-s1__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.g3-s1__faces{display:inline-flex}.g3-s1__faces .g3-face{box-shadow:0 0 0 2px #fff}.g3-s1__faces .g3-face + .g3-face{margin-left:-7px}
.g3-s1__t{font:600 14px "Inter",sans-serif}
.g3-s1__sync{position:relative;margin-left:auto;padding:7px 14px;border-radius:999px;font:600 12.5px "Inter",sans-serif;background:#2563EB;color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.28);display:inline-flex;align-items:center;gap:5px;transform-origin:center}
.g3-s1__sync em{font-style:normal;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.g3-s1__head{position:relative}
.g3-s1__done{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:7px 14px;border-radius:999px;font:600 12.5px "Inter",sans-serif;background:#fff;color:#0F172A;box-shadow:0 1px 3px rgba(15,23,42,.10),0 0 0 1px rgba(15,23,42,.10);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;opacity:0}
.g3-s1__done svg{width:12px;height:12px;color:#15803d;stroke-width:2.6}
.g3-s1__sync svg{width:12px;height:12px}
.g3-s1__faces .g3-face{animation:none}
.sd__pane.is-active .g3-s1 .g3-cur{animation:s1-cur 2.2s cubic-bezier(.3,.1,.2,1) forwards}
.sd__pane.is-active .g3-s1__sync{animation:s1-btn 2.2s forwards}
.sd__pane.is-active .g3-s1__sync .a{animation:s1-a 2.2s forwards}
.sd__pane.is-active .g3-s1__done{animation:s1-b 2.2s forwards}
.sd__pane.is-active .g3-s1__faces .g3-face{animation:s1-face 1.2s 1.05s ease-in-out}
.sd__pane.is-active .g3-s1__faces .g3-face:nth-child(2){animation-delay:1.2s}.sd__pane.is-active .g3-s1__faces .g3-face:nth-child(3){animation-delay:1.35s}
@keyframes s1-cur{0%{opacity:0;left:55%;top:70%}12%{opacity:1}55%{left:var(--sx);top:var(--sy);transform:scale(1)}62%{transform:scale(.82)}70%{transform:scale(1)}88%{opacity:1}100%{opacity:0;left:var(--sx);top:var(--sy)}}
@keyframes s1-btn{0%,54%{background:#2563EB;color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.28);transform:scale(1);opacity:1}60%{background:#1e40af;transform:scale(.94);opacity:1}66%,100%{opacity:0;transform:scale(.94)}}
@keyframes s1-a{0%,64%{opacity:1}68%,100%{opacity:0}}
@keyframes s1-b{0%,66%{opacity:0}72%,100%{opacity:1}}
@keyframes s1-face{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.g3-s1__row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(35,60,99,.08),0 0 0 1px rgba(15,23,42,.05);margin-top:7px;opacity:0;transform:translateY(10px)}
.g3-s1__row span:nth-child(2){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g3-s1__row small{font-size:11.5px;color:rgba(15,23,42,.45);white-space:nowrap}
.sd__pane.is-active .g3-s1__row{animation:s-in .5s cubic-bezier(.2,.9,.3,1.15) forwards}
.sd__pane.is-active .g3-s1__row:nth-child(3){animation-delay:1.7s}.sd__pane.is-active .g3-s1__row:nth-child(4){animation-delay:2.0s}
.sd__pane.is-active .g3-s1__row:nth-child(5){animation-delay:2.3s}.sd__pane.is-active .g3-s1__row:nth-child(6){animation-delay:2.6s}
@keyframes s-in{to{opacity:1;transform:none}}
@keyframes s-pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}

/* 2 · the same inbox, worked through: keep one, edit one, reject one */
.g3-s2{max-width:480px;margin:0 auto}
.g3-s2__head{display:flex;align-items:center;gap:10px;margin-bottom:8px;position:relative}
.g3-s2__faces{display:inline-flex}.g3-s2__faces .g3-face{box-shadow:0 0 0 2px #fff}.g3-s2__faces .g3-face + .g3-face{margin-left:-7px}
.g3-s2__t{font:600 14px "Inter",sans-serif}
.g3-s2__cnt{margin-left:auto;position:relative;height:18px;width:70px;font-size:12.5px;color:rgba(15,23,42,.5);text-align:right}
.g3-s2__cnt em{position:absolute;right:0;top:0;font-style:normal;opacity:0;white-space:nowrap}
.g3-s2__row{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(35,60,99,.08),0 0 0 1px rgba(15,23,42,.05);margin-top:6px}
.g3-s2__tx{flex:1;min-width:0}
.g3-s2__tx b{display:block;font-weight:500;font-size:13px;line-height:1.35;color:#0F172A}
.g3-s2__tx small{font-size:11px;color:rgba(15,23,42,.45)}
.g3-s2__tx .g3-add{display:inline-block;white-space:nowrap;overflow:hidden;max-width:0;vertical-align:bottom}
.g3-s2__tx .g3-add::after{content:"";display:inline-block;width:1.5px;height:12px;background:#0F172A;margin-left:1px;vertical-align:-2px;opacity:0}
.g3-s2__q{display:inline-flex;gap:7px;flex:none}
.g3-s2__b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:rgba(25,35,55,.5);box-shadow:0 1px 3px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.06)}
.g3-s2__b svg{width:14px;height:14px}
.g3-s2__b--y{color:#15803d;background:#ECFDF3;box-shadow:0 1px 3px rgba(21,128,61,.18),0 0 0 1px rgba(21,128,61,.18)}
.g3-s2__out{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:600 12px "Inter",sans-serif;opacity:0;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.g3-s2__out svg{width:12px;height:12px}
.g3-s2__out--k,.g3-s2__out--ke{color:#15803d}.g3-s2__out--n{color:rgba(15,23,42,.45)}
.g3-s2__b.g3-pressed{background:#15803d;color:#fff}
/* the count */
.sd__pane.is-active .g3-s2__cnt em:nth-child(1){animation:s2-c1 12.0s infinite}
.sd__pane.is-active .g3-s2__cnt em:nth-child(2){animation:s2-c2 12.0s infinite}
.sd__pane.is-active .g3-s2__cnt em:nth-child(3){animation:s2-c3 12.0s infinite}
.sd__pane.is-active .g3-s2__cnt em:nth-child(4){animation:s2-c4 12.0s infinite}
@keyframes s2-c1{0%,13.33%{opacity:1}15.0%,100%{opacity:0}}
@keyframes s2-c2{0%,13.33%{opacity:0}15.0%,60.0%{opacity:1}61.67%,100%{opacity:0}}
@keyframes s2-c3{0%,60.0%{opacity:0}61.67%,78.33%{opacity:1}80.0%,100%{opacity:0}}
@keyframes s2-c4{0%,78.33%{opacity:0}80.0%,100%{opacity:1}}
/* row 1: kept at 1.4s */
.sd__pane.is-active .g3-s2__r1 .g3-s2__b--y{animation:s2-p1 12.0s infinite}
.sd__pane.is-active .g3-s2__r1 .g3-s2__q{animation:s2-q1 12.0s infinite}
.sd__pane.is-active .g3-s2__r1{animation:s2-row1 12.0s infinite}
.sd__pane.is-active .g3-s2__r1 .g3-s2__out--k{animation:s2-o1 12.0s infinite}
@keyframes s2-p1{0%,11.25%{background:#ECFDF3;color:#15803d;transform:scale(1)}11.67%,14.17%{background:#15803d;color:#fff;transform:scale(.88)}15.0%,100%{background:#ECFDF3;color:#15803d;transform:scale(1)}}
@keyframes s2-q1{0%,15.0%{opacity:1}17.5%,100%{opacity:0}}
@keyframes s2-row1{0%,15.0%{background:#fff;box-shadow:0 4px 12px rgba(35,60,99,.08),0 0 0 1px rgba(15,23,42,.05)}18.33%,100%{background:#F0FBF4;box-shadow:0 4px 12px rgba(21,128,61,.08),0 0 0 1px rgba(21,128,61,.22)}}
@keyframes s2-o1{0%,17.5%{opacity:0}20.0%,100%{opacity:1}}
/* row 2: pencil at 3.8s, typing 4.3-6.0s, tick at 7.0s */
.sd__pane.is-active .g3-s2__r2 .g3-s2__b--e{animation:s2-p2e 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-s2__b--y{animation:s2-p2y 12.0s infinite}
.sd__pane.is-active .g3-s2__r2{animation:s2-row2 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-s2__q{animation:s2-q2 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-add{animation:s2-add 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-add::after{animation:s2-caret 12.0s infinite}
.sd__pane.is-active .g3-s2__r2 .g3-s2__out--ke{animation:s2-o2 12.0s infinite}
@keyframes s2-p2e{0%,31.25%{background:#fff;color:rgba(25,35,55,.5);transform:scale(1)}31.67%,34.17%{background:#2563EB;color:#fff;transform:scale(.88)}35.0%,100%{background:#fff;color:rgba(25,35,55,.5);transform:scale(1)}}
@keyframes s2-p2y{0%,57.92%{background:#ECFDF3;color:#15803d;transform:scale(1)}58.33%,60.83%{background:#15803d;color:#fff;transform:scale(.88)}61.67%,100%{background:#ECFDF3;color:#15803d;transform:scale(1)}}
@keyframes s2-row2{0%,31.67%{background:#fff;box-shadow:0 4px 12px rgba(35,60,99,.08),0 0 0 1px rgba(15,23,42,.05)}34.17%,58.33%{background:#fff;box-shadow:0 4px 12px rgba(37,99,235,.10),0 0 0 2px rgba(37,99,235,.55)}63.33%,100%{background:#F0FBF4;box-shadow:0 4px 12px rgba(21,128,61,.08),0 0 0 1px rgba(21,128,61,.22)}}
@keyframes s2-q2{0%,61.67%{opacity:1}64.17%,100%{opacity:0}}
@keyframes s2-add{0%,35.83%{max-width:0;animation-timing-function:steps(26)}50.0%,100%{max-width:220px}}
@keyframes s2-caret{0%,35.0%{opacity:0}35.83%,57.5%{opacity:1}58.33%,100%{opacity:0}}
@keyframes s2-o2{0%,64.17%{opacity:0}66.67%,100%{opacity:1}}
/* row 4: cross at 9.2s */
.sd__pane.is-active .g3-s2__r4 .g3-s2__b--n{animation:s2-p4 12.0s infinite}
.sd__pane.is-active .g3-s2__r4 .g3-s2__q{animation:s2-q4 12.0s infinite}
.sd__pane.is-active .g3-s2__r4{animation:s2-row4 12.0s infinite}
.sd__pane.is-active .g3-s2__r4 .g3-s2__out--n{animation:s2-o4 12.0s infinite}
@keyframes s2-p4{0%,76.25%{background:#fff;color:rgba(25,35,55,.5);transform:scale(1)}76.67%,79.17%{background:#0F172A;color:#fff;transform:scale(.88)}80.0%,100%{background:#fff;color:rgba(25,35,55,.5);transform:scale(1)}}
@keyframes s2-q4{0%,80.0%{opacity:1}82.5%,100%{opacity:0}}
@keyframes s2-row4{0%,80.0%{opacity:1}83.33%,100%{opacity:.45}}
@keyframes s2-o4{0%,82.5%{opacity:0}85.0%,100%{opacity:1}}
/* the pointer */
.sd__pane.is-active .g3-s2 .g3-cur{animation:s2-cur 12.0s cubic-bezier(.3,.1,.2,1) infinite}
@keyframes s2-cur{0%{opacity:0;left:45%;top:105%;transform:scale(1)}3.33%{opacity:1}10.0%{left:var(--y1x);top:var(--y1y);transform:scale(1)}11.67%{transform:scale(.82)}13.33%{transform:scale(1)}21.67%{left:var(--y1x);top:var(--y1y)}30.0%{left:var(--e2x);top:var(--e2y);transform:scale(1)}31.67%{transform:scale(.82)}33.33%{transform:scale(1)}52.5%{left:var(--e2x);top:var(--e2y)}56.67%{left:var(--y2x);top:var(--y2y);transform:scale(1)}58.33%{transform:scale(.82)}60.0%{transform:scale(1)}68.33%{left:var(--y2x);top:var(--y2y)}75.0%{left:var(--n4x);top:var(--n4y);transform:scale(1)}76.67%{transform:scale(.82)}78.33%{transform:scale(1)}86.67%{opacity:1;left:var(--n4x);top:var(--n4y)}91.67%,100%{opacity:0;left:var(--n4x);top:var(--n4y)}}

/* 3 · the memory and the line it came from */
.g3-s3{max-width:500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;min-height:200px}
.g3-s3__graph{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:center;pointer-events:none}
.g3-s3__graph svg{width:360px;height:202px;overflow:visible;stroke:none;stroke-width:0}
.g3-s3__graph .g3-ge{fill:none;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300}
.g3-s3__graph .g3-gn{transform-box:fill-box;transform-origin:center;transform:scale(0);stroke:#fff;stroke-width:2.5px;filter:drop-shadow(0 2px 4px rgba(15,23,42,.14))}
.g3-s3__graph .g3-gl{font:500 11px "Inter",sans-serif;fill:#3D4B60;opacity:0;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.g3-s3__graph .g3-gl--dec{font-weight:600;fill:#0F172A}
.sd__pane.is-active .g3-s3__graph .g3-ge{animation:s3-ge .6s .1s cubic-bezier(.2,.7,.2,1) forwards}
.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(2){animation-delay:.2s}.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(3){animation-delay:.3s}.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(4){animation-delay:.4s}.sd__pane.is-active .g3-s3__graph .g3-ge:nth-child(5){animation-delay:.5s}
.sd__pane.is-active .g3-s3__graph .g3-gn{animation:s3-gn .4s .1s cubic-bezier(.2,.9,.3,1.3) forwards}
.sd__pane.is-active .g3-s3__graph .g3-gn:nth-child(7){animation-delay:.2s}.sd__pane.is-active .g3-s3__graph .g3-gn:nth-child(8){animation-delay:.3s}.sd__pane.is-active .g3-s3__graph .g3-gn:nth-child(9){animation-delay:.4s}.sd__pane.is-active .g3-s3__graph .g3-gn--dec{animation-delay:.5s}
.sd__pane.is-active .g3-s3__graph .g3-gl{animation:s3-gl .3s .7s forwards}
.sd__pane.is-active .g3-s3__graph .g3-gn--dec{animation:s3-gn .4s .5s cubic-bezier(.2,.9,.3,1.3) forwards,s3-node 5s forwards}
.sd__pane.is-active .g3-s3__graph{animation:s3-graph 5s forwards}
@keyframes s3-ge{to{stroke-dashoffset:0}}
@keyframes s3-gn{to{transform:scale(1)}}
@keyframes s3-gl{to{opacity:1}}
@keyframes s3-node{0%,36%{stroke:#fff;stroke-width:2.5px}40%,46%{stroke:#1D4ED8;stroke-width:3.5px}50%,100%{stroke:#fff;stroke-width:2.5px}}
@keyframes s3-graph{0%,42%{opacity:1;filter:none}50%,100%{opacity:.14;filter:blur(1.5px)}}
.g3-s3__card,.g3-s3__chat{position:relative;z-index:2}
.g3-s3__chat{opacity:0;transform:translateX(14px)}
.sd__pane.is-active .g3-s3__chat{animation:s3-chat .5s 4.0s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes s3-chat{to{opacity:1;transform:none}}
.g3-s3__tag{display:inline-block;margin:0 0 6px;padding:2px 7px;border-radius:5px;background:rgba(167,139,250,.22);color:#6D4FD8;font:700 10px "Inter",sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:0}
.sd__pane.is-active .g3-s3__tag{animation:s-in .3s 4.8s forwards}
.sd__pane.is-active .g3-s3 .g3-cur{animation:s3-cur 5s cubic-bezier(.3,.1,.2,1) forwards}
@keyframes s3-cur{0%,14%{opacity:0;left:50%;top:100%}20%{opacity:1}36%{left:var(--nx);top:var(--ny);transform:scale(1)}40%{transform:scale(.82)}44%{transform:scale(1)}52%{left:var(--nx);top:var(--ny)}70%{left:var(--ox);top:var(--oy);transform:scale(1)}74%{transform:scale(.82)}78%{transform:scale(1)}90%{opacity:1;left:var(--ox);top:var(--oy)}100%{opacity:0;left:var(--ox);top:var(--oy)}}
.sd__pane.is-active .g3-s3__open{animation:s3-open 5s forwards}
@keyframes s3-open{0%,72%{background:transparent;color:#1d4ed8}75%,80%{background:rgba(37,99,235,.14);color:#1e40af}84%,100%{background:transparent;color:#1d4ed8}}
.g3-s3__chat{border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(35,60,99,.09),0 0 0 1px rgba(15,23,42,.05);padding:12px 12px 10px;overflow:hidden}
.g3-s3__ch{display:flex;align-items:center;gap:7px;font:600 12px "Inter",sans-serif;margin-bottom:8px}
.g3-s3__ch .g3-faces{display:inline-flex}.g3-s3__ch .g3-face{width:18px;height:18px;box-shadow:0 0 0 2px #fff}.g3-s3__ch .g3-face + .g3-face{margin-left:-5px}
.g3-s3__ch small{font-weight:400;color:rgba(15,23,42,.45);margin-left:auto;font-size:11px}
.g3-s3__ln{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;line-height:1.4;color:#3D4B60;padding:5px 6px;border-radius:8px;margin:0 -2px}
.g3-s3__ln b{font-weight:600;color:#0F172A;flex:none}
.g3-s3__ln--hi{position:relative}
.g3-s3__ln--hi::before{content:"";position:absolute;inset:0;border-radius:8px;background:rgba(167,139,250,.22);opacity:0;transform:scaleX(.2);transform-origin:left}
.g3-s3__ln--hi>*{position:relative}
.sd__pane.is-active .g3-s3__ln--hi::before{animation:s3-hi .6s 4.5s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes s3-hi{to{opacity:1;transform:none}}
.g3-s3__card{border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(35,60,99,.09),0 0 0 1px rgba(15,23,42,.05);padding:14px 14px 12px;opacity:0;transform:translate(calc(50% + 7px),8px);grid-column:1;grid-row:1}
.sd__pane.is-active .g3-s3__card{animation:s3-card .45s 2.3s cubic-bezier(.2,.9,.3,1.2) forwards,s3-slide .5s 3.9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes s3-card{from{opacity:0;transform:translate(var(--cx,calc(50% + 7px)),8px) scale(.9)}to{opacity:1;transform:translate(var(--cx,calc(50% + 7px)),0) scale(1)}}
@keyframes s3-slide{from{opacity:1;transform:translate(var(--cx,calc(50% + 7px)),0)}to{opacity:1;transform:none}}
.g3-s3__chat{grid-column:2;grid-row:1}
.g3-s3__card .g3-k{display:inline-block}
.g3-s3__card p{margin:8px 0 0;font:600 13.5px/1.35 "Inter",sans-serif}
.g3-s3__src{margin-top:10px;padding-top:10px;border-top:1px solid rgba(15,23,42,.08);font-size:12px;color:rgba(15,23,42,.6);display:flex;align-items:center;gap:7px}
.g3-s3__src .g3-face{width:20px;height:20px}
.g3-s3__src b{color:#0F172A;font-weight:600}
.g3-s3__open{display:inline-block;margin:8px -6px 0;padding:4px 6px;border-radius:6px;font:600 12px "Inter",sans-serif;color:#1d4ed8}

/* 4 · three tools, each reading the same memory */
.g3-s4{max-width:520px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g3-s4__win{border-radius:12px;background:#fff;box-shadow:0 6px 16px rgba(35,60,99,.09),0 0 0 1px rgba(15,23,42,.05);overflow:hidden;opacity:0;transform:translateY(8px)}
.g3-s4__win:first-child{grid-column:1/-1}
.sd__pane.is-active .g3-s4__win{animation:s-in .5s cubic-bezier(.2,.7,.2,1) forwards}
.sd__pane.is-active .g3-s4__win:nth-child(2){animation-delay:.35s}.sd__pane.is-active .g3-s4__win:nth-child(3){animation-delay:.7s}
.g3-s4__bar{display:flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-bottom:1px solid rgba(15,23,42,.07);font:600 11px "Inter",sans-serif;color:rgba(15,23,42,.6)}
.g3-s4__bar i{width:7px;height:7px;border-radius:50%;background:#D5DDE7}
.g3-s4__body{padding:10px 12px;font-size:12px;line-height:1.45;color:#3D4B60;min-height:54px}
.g3-s4__body .g3-mem{display:inline;background:rgba(167,139,250,.22);border-radius:4px;padding:1px 4px;color:#0F172A}
.g3-s4__code{font:500 11.5px/1.5 "JetBrains Mono",ui-monospace,monospace;color:#3D4B60}
.g3-s4__code .g3-c{color:#6D4FD8}
.g3-s4__term{font:500 11.5px/1.5 "JetBrains Mono",ui-monospace,monospace;color:#3D4B60;background:#0F172A;color:#CBD5E1;margin:-10px -12px;padding:10px 12px;min-height:54px}
.g3-s4__term .g3-g{color:#6EE7B7}
.g3-s4__type{display:inline-block;white-space:nowrap;overflow:hidden;vertical-align:bottom;max-width:0}
.sd__pane.is-active .g3-s4__win:nth-child(1) .g3-s4__type{animation:s4-t 1.4s 1s steps(40) forwards}
.sd__pane.is-active .g3-s4__win:nth-child(2) .g3-s4__type{animation:s4-t 1.4s 2s steps(40) forwards}
.sd__pane.is-active .g3-s4__win:nth-child(3) .g3-s4__type{animation:s4-t 1.4s 3s steps(40) forwards}
@keyframes s4-t{to{max-width:100%}}
.sd__step{min-height:440px}

