.memory-scene { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:3rem 0; border-top:1px solid var(--line); }
.memory-copy h2 { margin-top:1rem; font-size:clamp(2.3rem,3.4vw,3.3rem); }
.memory-copy > p:not(.eyebrow) { max-width:28rem; margin:1.3rem 0; color:var(--muted); }
.memory-copy > .memory-links { margin-top:1rem; font-size:.7rem; }.memory-links a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.memory-visual { padding:1.5rem 2rem; background:var(--wash); }
.memory-chat { padding:1.1rem 1.3rem; border:1px solid #d8dee2; background:#fff; border-radius:.7rem; }
.memory-day { font-size:.65rem; font-weight:700; letter-spacing:.1em; color:var(--muted); }
.memory-chat > p { margin-top:.65rem; font-size:1rem; }
.saved-memory,.memory-reply { display:flex; align-items:center; gap:.6rem; margin-top:1rem; font-size:.8rem; }
.saved-memory { padding-top:.75rem; border-top:1px solid var(--line); color:var(--muted); }.saved-memory .ui-icon,.memory-reply .ui-icon { width:1.1rem; height:1.1rem; }
.memory-bridge { display:block; margin:.3rem 0; text-align:center; font-size:1.3rem; color:#89959d; }
.memory-reply { background:#edf2f5; padding:.8rem; border-radius:.5rem; color:#364c5c; }
.memory-visual figcaption { margin-top:1rem; font-size:.74rem; line-height:1.5; color:var(--muted); }
.connections-section { padding-bottom:3rem; }
.connections-heading { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:4rem; align-items:end; margin-bottom:2rem; }
.connections-heading h2 { margin-top:.8rem; font-size:clamp(2.4rem,3.7vw,3.7rem); }
.connections-intro { color:var(--muted); font-size:.94rem; line-height:1.7; }.connections-intro p + p { margin-top:.85rem; }.connections-intro strong { color:var(--ink); font-weight:600; }
.connections-figure { padding:1.5rem 2rem; border:1px solid var(--line); background:#fafbfb; }
.connections-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid #e5e9eb; color:var(--muted); font-size:.65rem; font-weight:600; letter-spacing:.08em; }
.assistant-names { font-size:.76rem; font-weight:400; letter-spacing:0; }
.connection-map { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,1fr); gap:2.3rem; align-items:center; position:relative; padding:1.8rem 1.5rem; isolation:isolate; max-width:61rem; margin:0 auto; }
.connection-lines { position:absolute; inset:0; width:100%; height:100%; z-index:-1; overflow:visible; pointer-events:none; }
.connection-path { fill:none; stroke:#d3dce2; stroke-width:1.4; }.connection-path.is-selected { stroke:#7c96a9; stroke-width:2; }.connection-path.is-muted { opacity:.35; }
.connection-dot { fill:#738da1; }.connection-dot.is-muted { opacity:.15; }.connection-dot.is-selected { fill:#375d78; }
.app-column { display:grid; gap:.8rem; position:relative; z-index:1; }
.connection-app { display:flex; align-items:center; gap:.7rem; min-height:4.2rem; width:100%; padding:.75rem 1rem; border:1px solid #dde3e7; border-radius:.6rem; background:#fff; text-align:left; color:#3a444b; font-size:.83rem; line-height:1.3; box-shadow:0 3px 7px #25313a04; }
.connection-app img { width:2rem; height:2rem; object-fit:contain; flex:none; }.connection-app:hover { border-color:#94a8b6; }.connection-app[aria-pressed="true"] { border-color:#7a96ab; background:#f1f6f9; box-shadow:0 0 0 1px #7a96ab; }
.connection-hub { display:grid; justify-items:center; gap:1rem; position:relative; z-index:1; }
.assistant-core { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.7rem; width:9.8rem; height:9.8rem; border:1px solid #c8d2d9; border-radius:50%; background:#fff; box-shadow:0 8px 28px #3245560e,0 0 0 10px #fafbfb; }
.assistant-core img { width:3.5rem; height:3.5rem; object-fit:contain; }.assistant-core strong { font-size:.85rem; font-weight:600; }
.hub-caption { color:var(--muted); font-size:.75rem; line-height:1.5; text-align:center; }
.connection-example { padding:1.2rem 1.5rem; border:1px solid #e1e6e9; border-left:3px solid #7f99ac; background:#fff; }
.connection-example-label { display:block; margin-bottom:.4rem; color:var(--muted); font-size:.64rem; font-weight:700; letter-spacing:.1em; }.connection-example strong { font-size:1.1rem; font-weight:600; }.connection-example p { max-width:52rem; margin-top:.55rem; color:var(--muted); font-size:.86rem; }
.connections-figure figcaption { margin-top:1rem; color:var(--muted); font-size:.74rem; line-height:1.5; }.connections-figure figcaption a { display:inline-flex; gap:.4rem; color:var(--ink); text-decoration:underline; text-underline-offset:3px; margin-left:.4rem; }
.connections-figure.is-motion-reduced .connection-dot { display:none; }
@media(max-width:1000px) { .connections-heading { gap:2rem; }.connections-figure { padding:1.3rem; }.connection-map { padding:1.5rem .4rem; gap:1.5rem; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr); }.connection-app { padding:.65rem .8rem; gap:.5rem; font-size:.8rem; } }
@media(max-width:700px) {
  .memory-scene { grid-template-columns:1fr; gap:1.5rem; padding:2.2rem 0; }.memory-visual { padding:1.2rem; }.memory-copy h2 { font-size:2.7rem; }
  .connections-heading { grid-template-columns:1fr; gap:1.2rem; margin-bottom:1.5rem; }.connections-heading h2 { font-size:clamp(2.5rem,8vw,3.3rem); }.connections-intro { font-size:.94rem; }
  .connections-figure { padding:1rem .75rem; }.connections-toolbar { flex-wrap:wrap; gap:.6rem; }
  .connection-map { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr); padding:1.5rem .25rem; gap:1.4rem; }
  .connection-app { flex-direction:column; justify-content:center; text-align:center; gap:.4rem; min-height:4.8rem; padding:.65rem .25rem; font-size:.69rem; }.connection-app img { width:1.8rem; height:1.8rem; }.connection-app span { overflow-wrap:anywhere; }
  .assistant-core { width:6rem; height:6rem; gap:.4rem; }.assistant-core img { width:2.3rem; height:2.3rem; }.assistant-core strong { font-size:.7rem; }.hub-caption { font-size:.65rem; }
  .connection-example { padding:1rem; }.connection-example strong { font-size:1rem; }.connections-figure figcaption { font-size:.7rem; }.connections-section { padding-bottom:2.5rem; }
}
@media(max-width:390px) { .connection-map { gap:1rem; }.assistant-core { width:5.2rem; height:5.2rem; box-shadow:0 8px 28px #3245560e,0 0 0 5px #fafbfb; }.memory-chat { padding:1rem; } }
@media(prefers-reduced-motion:reduce) { .connection-dot { display:none; } }
