/* Total Social: illustrative source-to-workspace narrative */
/* Platform architecture bridge */
/* Visual architecture */
/* Shared and client data flow */
/* Shared knowledge diagram */
/* Product areas and agent flow */

/* A compact platform story on the workspace overview. */
.overview-story{position:relative;overflow:hidden;margin:-8px 0 36px;padding:30px 32px 16px;border:1px solid #d8e0d3;border-radius:15px;background:#edf2ea;color:#293d31}.overview-story:after{content:'';position:absolute;width:340px;height:340px;right:-100px;top:-190px;border:1px solid rgba(111,145,110,.15);border-radius:50%;box-shadow:0 0 0 45px rgba(111,145,110,.04),0 0 0 90px rgba(111,145,110,.035);pointer-events:none}.overview-story-copy{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:center}.overview-story .overview-kicker{grid-column:1/-1;font-size:9px;letter-spacing:.14em;font-weight:750;color:#a6755e}.overview-story h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.045em;margin:10px 0 5px}.overview-story-copy p{grid-column:1;color:#718273;font-size:12px;margin:0}.overview-story-copy button{grid-column:2;grid-row:2/4;align-self:center;border:1px solid #b6c8b2;border-radius:8px;background:#fff;color:#365441;font-size:11px;font-weight:700;padding:11px 14px}.overview-story-copy button span{margin-left:12px}.overview-story .overview-flow{position:relative;z-index:1;display:grid;grid-template-columns:1fr 45px 1fr 45px 1fr 45px 1fr;align-items:start;margin:32px 0 26px}.overview-story .overview-node{min-width:0}.overview-story .overview-symbol{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:12px;color:#54795d}.overview-story .overview-node b,.overview-story .overview-node small{display:block}.overview-story .overview-node b{font-size:12px}.overview-story .overview-node small{font-size:10px;color:#758c76;margin-top:5px;line-height:1.4}.overview-story .sources-symbol{width:64px;justify-content:flex-start}.overview-story .sources-symbol i{display:grid;place-items:center;width:27px;height:27px;margin-right:-6px;border:2px solid #edf2ea;border-radius:50%;background:#fff;font-style:normal;font-size:14px}.overview-story .ai-symbol{border-radius:50%;background:#344f3c;color:#eac9ac;font-size:23px}.overview-story .model-symbol{flex-direction:column;gap:3px}.overview-story .model-symbol i{display:block;width:38px;height:8px;border:1px solid #8eac8c;border-radius:3px;background:#d6e4d2;transform:skewY(-8deg)}.overview-story .workspace-symbol{display:grid;grid-template-columns:repeat(2,12px);grid-template-rows:repeat(2,12px);gap:3px;border:1px solid #b6c9b2;border-radius:10px;background:#f9fbf7}.overview-story .workspace-symbol i{border-radius:2px;background:#a4bba0}.overview-story .overview-arrow{position:relative;margin-top:16px;color:#93aa8e;font-size:17px;line-height:1;white-space:nowrap}.overview-story .overview-arrow:before{content:'';display:inline-block;width:calc(100% - 12px);border-top:1px solid #adbfaa;vertical-align:middle}.overview-story .overview-arrow span{position:absolute;top:7px;left:0;width:5px;height:5px;border-radius:50%;background:#7b9f78;animation:ts-overview-travel 2.8s ease-in-out infinite}.overview-story .overview-arrow:nth-of-type(4) span{animation-delay:.45s}.overview-story .overview-arrow:nth-of-type(6) span{animation-delay:.9s}@keyframes ts-overview-travel{0%,15%{transform:translateX(0);opacity:0}30%{opacity:1}80%{transform:translateX(26px);opacity:1}100%{transform:translateX(26px);opacity:0}}.overview-story-caption{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d3dfd0;padding-top:13px;font-size:9px;letter-spacing:.08em;font-weight:700;color:#899c87}.overview-story-caption span{letter-spacing:0;text-transform:none;font-weight:500}.overview-story button:focus-visible{outline:3px solid #a96e53;outline-offset:3px}@media(max-width:800px){.overview-story .overview-flow{grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr}.overview-story .overview-node small{font-size:9px}}@media(max-width:600px){.overview-story{padding:24px 20px 15px}.overview-story-copy{display:block}.overview-story-copy button{margin-top:17px}.overview-story .overview-flow{grid-template-columns:1fr 1fr;gap:22px 16px}.overview-story .overview-arrow{display:none}.overview-story .overview-node{border-left:1px solid #c8dac5;padding-left:12px}.overview-story-caption{display:block;line-height:1.7}.overview-story-caption span{display:block}}@media(prefers-reduced-motion:reduce){.overview-story .overview-arrow span{animation:none;left:40%;opacity:1}}
/* Each module gets its own illustration rather than a repeated icon. */
/* Directional paths carry shared context into each workspace. */
/* Keep the story and controls legible when the diagram stacks. */
/* A compact view of the documented hosting and data layers. */
/* API connections and parsed flows meet at the schema. */
/* Preserve flow direction as the three stages wrap. */@media(max-width:600px){.overview-story .overview-flow{grid-template-columns:1fr;gap:3px;margin:25px 0}.overview-story .overview-node{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;border-left:0;padding-left:0}.overview-story .overview-node .overview-symbol{grid-row:1 / 3;margin:0}.overview-story .overview-node b{align-self:end}.overview-story .overview-node small{align-self:start;margin-top:3px}.overview-story .overview-arrow{display:block;width:24px;height:18px;margin:0 0 0 21px;transform:rotate(90deg);transform-origin:9px 9px}.overview-story .overview-arrow:before{width:10px}.overview-story .overview-arrow span{animation:none;left:3px;opacity:1}}
.overview-story .workspace-symbol i{width:12px;height:12px}@media(max-width:600px){.overview-story .overview-node .sources-symbol{width:48px}.overview-story .sources-symbol i{width:21px;height:21px;margin-right:-5px;font-size:11px}}

.overview-story .overview-knowledge{display:grid;grid-template-columns:minmax(0,1fr) 30px auto 30px minmax(0,1fr);align-items:center;gap:8px;padding:16px 0 19px;border-top:1px solid #d3dfd0}.overview-story .overview-knowledge-source{display:flex;align-items:center;gap:9px;min-width:0}.overview-story .overview-knowledge-source>span{display:grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid #bfd1ba;border-radius:50%;color:#638364;font-size:17px}.overview-story .overview-private>span{color:#ad8065;border-color:#dfc6b8}.overview-story .overview-knowledge-source strong,.overview-story .overview-knowledge-source small{display:block}.overview-story .overview-knowledge-source strong{font-size:10px;color:#395540}.overview-story .overview-knowledge-source small{font-size:9px;color:#7d927b;line-height:1.4;margin-top:3px}.overview-story .overview-private{justify-content:flex-end}.overview-story .overview-knowledge-target{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:7px;background:#fff;border:1px solid #d6e2d1;color:#395540;white-space:nowrap;font-size:10px;font-weight:700}.overview-story .overview-knowledge-target span{color:#7f9e7d;font-size:14px}.overview-story .overview-knowledge-arrow{text-align:center;color:#8ea98a;font-size:16px}@media(max-width:600px){.overview-story .overview-knowledge{grid-template-columns:1fr 1fr;grid-template-areas:'shared private' 'target target';gap:14px 12px}.overview-story .overview-shared{grid-area:shared}.overview-story .overview-private{grid-area:private;justify-content:flex-start}.overview-story .overview-knowledge-source{align-items:start}.overview-story .overview-knowledge-source>span{width:27px;height:27px;font-size:14px}.overview-story .overview-knowledge-source small{font-size:8px}.overview-story .overview-knowledge-target{grid-area:target;justify-self:center;position:relative}.overview-story .overview-knowledge-target:before{content:'↓     ↓';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:110px;text-align:center;color:#8ea98a;font-weight:400;font-size:14px;line-height:14px}.overview-story .overview-knowledge-arrow{display:none}}

.overview-story .overview-private svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:601px){.overview-story .overview-knowledge{grid-template-columns:minmax(0,1fr) 52px auto 52px minmax(0,1fr)}.overview-story .overview-shared{justify-content:flex-end}.overview-story .overview-private{justify-content:flex-start}.overview-story .overview-knowledge-arrow{display:flex;align-items:center;justify-content:center;gap:2px}.overview-story .overview-knowledge-arrow.first:before,.overview-story .overview-knowledge-arrow.second:after{content:'';display:block;width:30px;border-top:1px solid #b4c8af}}
@media(max-width:600px){.overview-story .overview-knowledge{row-gap:20px}.overview-story .overview-knowledge-source{position:relative}.overview-story .overview-knowledge-source:after{content:'↓';position:absolute;top:100%;left:50%;transform:translateX(-50%);color:#8ea98a;font-size:14px;line-height:18px}.overview-story .overview-knowledge-target:before{content:none}}

.overview-story .overview-mobile-join{display:none}@media(max-width:600px){.overview-story .overview-knowledge{grid-template-areas:'shared private' 'join join' 'target target';row-gap:2px}.overview-story .overview-knowledge-source:after{content:none}.overview-story .overview-mobile-join{display:block;grid-area:join;width:100%;height:24px;overflow:visible;fill:none;stroke:#a6bea1;stroke-width:1.2;vector-effect:non-scaling-stroke}}
/* Keep supporting labels legible during a live product review. */

/* The overview stages link directly to the matching part of the platform story. */
.overview-story button.overview-node{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.overview-story button.overview-node b::after{content:" ↗";color:#8da68b;font-weight:400}.overview-story button.overview-node:hover b{color:#a36c51}.overview-story button.overview-node:hover .overview-symbol{transform:translateY(-2px)}.overview-story button.overview-node .overview-symbol{transition:transform .18s ease}.overview-story .overview-arrow:nth-child(4) span{animation-delay:.45s}.overview-story .overview-arrow:nth-child(6) span{animation-delay:.9s}@media(max-width:600px){.overview-story button.overview-node{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center}}@media(prefers-reduced-motion:reduce){.overview-story button.overview-node .overview-symbol{transition:none}}

/* API connections and parsed flows are alternate inputs to the model. */
