@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;700&display=swap";:root{color:#123d56;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Space Grotesk,Trebuchet MS,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at 14% -8%,#d9ecff 0%,#0000 40%),radial-gradient(circle at 92% 12%,#ccf9df 0%,#0000 34%),linear-gradient(158deg,#f8fcff 0%,#edf5ff 52%,#fffdf4 100%);min-height:100vh;margin:0}#root{min-height:100vh}.deck{min-height:100vh;padding:8px clamp(8px,1.6vw,24px)}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:linear-gradient(165deg,#fff,#f4fbff);border:1px solid #cfe2f1;border-radius:18px;width:min(440px,100%);padding:20px;box-shadow:0 20px 42px #0c39561a,0 8px 16px #0c39560d}.login-logo{width:auto;height:34px;margin-bottom:12px;display:block}.login-card h1{color:#0f405e;margin:0;font-size:1.4rem}.login-card p{color:#2c607b;margin:8px 0 0}.login-form{gap:8px;margin-top:16px;display:grid}.login-form label{color:#174766;font-size:.86rem;font-weight:700}.login-form input{width:100%;font:inherit;color:#1c4a64;background:#fff;border:1px solid #b6d5ea;border-radius:10px;padding:10px 12px}.login-form input:focus{outline-offset:1px;outline:2px solid #8ac2e6}.login-form button{color:#fff;font:inherit;cursor:pointer;background:#15506f;border:1px solid #15506f;border-radius:10px;margin-top:4px;padding:10px 12px;font-weight:700}.auth-error{color:#b42318;margin:2px 0 0;font-size:.88rem}.deck-with-sidebar{grid-template-columns:320px 1fr;align-items:start;gap:12px;display:grid}.side-nav{background:linear-gradient(160deg,#ffffffeb,#f3faffe6);border:1px solid #d0e4f2;border-radius:20px;max-height:calc(100vh - 16px);padding:14px 12px;position:sticky;top:8px;overflow:hidden auto;box-shadow:0 18px 42px #0d3b591a,0 6px 12px #0d3b590f}.side-nav-caption{color:#1c5d7f;letter-spacing:.04em;text-transform:uppercase;margin:8px 4px 12px;font-size:.8rem;font-weight:700}.side-nav-groups{gap:10px;display:grid}.nav-group{background:#f9fcff;border:1px solid #d6e9f6;border-radius:12px;padding:8px}.nav-group-trigger{color:#0e4665;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:4px 4px 8px;font-family:Space Grotesk,Trebuchet MS,sans-serif;font-size:.86rem;font-weight:700;display:flex}.nav-group-icon{color:#176087;border:1px solid #a8cde7;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:.84rem;font-weight:700;display:inline-flex}.brand-link{align-items:center;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;filter:drop-shadow(0 5px 12px #0f375524);width:auto;height:clamp(26px,2.8vw,40px)}.route-nav{flex-direction:column;gap:7px;width:100%;display:flex}.route-link{color:#17425f;white-space:normal;overflow-wrap:anywhere;background:#ffffff9e;border:1px solid #b8d8f0;border-radius:10px;padding:8px 10px;font-size:.84rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,transform .2s}.route-link:hover{border-color:#54a9de;transform:translate(1px)}.route-link.active{color:#fff;background:#15506f;border-color:#15506f}.slide-shell{justify-content:center;align-items:stretch;display:flex}.slide{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(170deg,#fffffff0,#f7fcffeb);border:1px solid #d0e4f2;border-radius:24px;flex-direction:column;gap:16px;width:min(1480px,100%);min-height:calc(100vh - 16px);max-height:calc(100vh - 24px);margin:0;padding:clamp(18px,2.9vw,34px);display:flex;overflow:auto;box-shadow:0 26px 60px #0d3b591f,0 8px 18px #0d3b5912}.panel{background:linear-gradient(155deg,#fff,#f7fbff);border:1px solid #dbeaf5;border-radius:17px;padding:15px 16px}.slide-hero h1{letter-spacing:-.025em;color:#0d344d;margin:6px 0 10px;font-size:clamp(1.8rem,3vw,2.45rem)}.slide-hero p{color:#29566f;max-width:72ch;margin:0}.eyebrow{color:#1f7aaa;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.78rem;font-weight:700}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.panel h2{color:#0f405e;margin:0;font-size:1.05rem}.panel ul,.panel ol{color:#255066;gap:8px;margin:12px 0 0;padding-left:1.2rem;display:grid}.panel li{line-height:1.42}.panel strong{color:#0e3e59;font-weight:700}.faq-list{gap:12px;margin:12px 0 0;display:grid}.faq-list dt{color:#0e3f5b;font-weight:700}.faq-list dd{color:#2a5a74;margin:4px 0 0}.visual-panel h2{margin-bottom:10px}.slide-visual{width:min(860px,100%);height:auto;margin:0 auto;display:block}.visual-node{fill:#e9f4fd;stroke:#8cc4e8;stroke-width:2px}.visual-node.strong{fill:#d8edff;stroke:#4f9fd4}.visual-line{stroke:#4f94bf;stroke-width:2.5px}.visual-arrow{fill:#4f94bf}.visual-text{fill:#0d3e59;font-size:17px;font-weight:700}.visual-subtext{fill:#2b607d;font-size:13px;font-weight:500}.simple-flow-panel{gap:14px;display:grid}.client-rollout-panel{gap:18px;display:grid}.client-rollout-copy{gap:6px;display:grid}.client-rollout-copy h2{color:#0f405e;margin:0;font-size:1.1rem}.client-rollout-copy p{color:#2a5f79;max-width:74ch;margin:0}.client-rollout-stage{grid-template-columns:minmax(250px,320px) 110px 1fr;align-items:center;gap:18px;display:grid}.tenant-origin-wrap,.tenant-clone-slot{gap:8px;display:grid}.tenant-origin-caption,.tenant-clone-badge{color:#1c5a79;letter-spacing:.03em;text-transform:uppercase;background:#f6fbff;border:1px solid #b6d8ee;border-radius:999px;justify-self:start;padding:5px 10px;font-size:.72rem;font-weight:700}.tenant-copy-bridge{justify-items:center;gap:8px;display:grid}.tenant-copy-label{color:#2a6280;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.tenant-copy-arrow{color:#1d6489;font-size:2.4rem;font-weight:700;line-height:1;animation:1.3s ease-in-out infinite tenant-copy-pulse}.tenant-copy-bridge.is-step-0 .tenant-copy-arrow{opacity:.35}.tenant-copy-bridge.is-step-1 .tenant-copy-arrow,.tenant-copy-bridge.is-step-2 .tenant-copy-arrow,.tenant-copy-bridge.is-step-3 .tenant-copy-arrow{opacity:1}.tenant-snapshot-card{background:linear-gradient(165deg,#fff,#eff8ff);border:1px solid #bfdcee;border-radius:18px;gap:10px;min-height:220px;padding:12px;transition:opacity .45s,transform .45s,box-shadow .45s,border-color .45s;display:grid;box-shadow:0 14px 30px #1248691a,0 5px 12px #1248690f}.tenant-snapshot-card.is-origin{background:linear-gradient(165deg,#fafdff,#e8f5ff);border-color:#70b3de}.tenant-snapshot-card.is-clone{opacity:.28;transform:translateY(12px)scale(.97)}.tenant-snapshot-card.is-clone.is-visible{opacity:1;transform:translateY(0)scale(1)}.tenant-snapshot-topbar{color:#1f5876;justify-content:space-between;align-items:center;gap:10px;font-size:.72rem;display:flex}.tenant-snapshot-topbar span:first-child{font-weight:700}.tenant-snapshot-topbar span:last-child{background:#539dd01f;border-radius:999px;padding:4px 8px;font-weight:700}.tenant-snapshot-rail{grid-template-columns:repeat(7,auto);justify-content:start;align-items:center;gap:4px;display:grid}.tenant-mini-node{color:#1f5876;background:#fbfdff;border:1px solid #bddcf0;border-radius:999px;padding:4px 6px;font-size:.64rem;font-weight:700;line-height:1}.tenant-mini-link{color:#4f8fb8;font-size:.82rem;font-weight:700}.tenant-snapshot-image{background:#fff;border:1px solid #c8dfef;border-radius:12px;height:104px;overflow:hidden}.tenant-snapshot-image img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.tenant-snapshot-note{color:#2b607d;margin:0;font-size:.78rem;line-height:1.4}.tenant-clone-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.tenant-clone-slot{opacity:.62;transition:opacity .45s,transform .45s;transform:translateY(8px)}.tenant-clone-slot.is-visible{opacity:1;transform:translateY(0)}.tenant-clone-slot.is-latest .tenant-snapshot-card{border-color:#61addd;animation:.55s tenant-card-bloom;box-shadow:0 18px 34px #12486929,0 6px 14px #12486914}.simple-flow-header{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.flow-controls{align-items:center;gap:8px;display:inline-flex}.flow-controls button{color:#0f405e;font:inherit;cursor:pointer;background:#fff;border:1px solid #2f6f94;border-radius:999px;padding:6px 12px;font-weight:700;transition:background-color .2s,transform .2s,opacity .2s}.flow-controls button:hover:not(:disabled){background:#e8f4fd;transform:translateY(-1px)}.flow-controls button:disabled{opacity:.42;cursor:not-allowed}.simple-flow-track{grid-template-columns:minmax(190px,290px) minmax(230px,360px) minmax(220px,340px) minmax(220px,340px);justify-content:center;align-items:start;gap:12px;display:grid}.source-column{gap:10px;display:grid}.flow-node{color:#0d3e59;text-align:center;background:linear-gradient(165deg,#eef7ff,#ddedfb);border:1px solid #8cc4e8;border-radius:14px;gap:4px;padding:14px 12px;display:grid}.source-node{width:100%;font:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.source-node:hover{border-color:#58a6d8;transform:translateY(-1px);box-shadow:0 8px 16px #19527529}.flow-node-title{font-size:.96rem;font-weight:700}.flow-node-subtext{color:#295f7a;font-size:.8rem}.source-options{opacity:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:0;transition:max-height .4s,opacity .35s,transform .35s;display:grid;overflow:hidden;transform:translateY(-5px)}.source-options.is-visible{opacity:1;max-height:90px;transform:translateY(0)}.source-chip{color:#1a5575;text-align:center;background:#f8fcff;border:1px solid #b4d8ef;border-radius:999px;padding:8px 10px;font-size:.78rem;font-weight:600;line-height:1.15}.source-explainer{color:#2a607c;opacity:0;margin:0;font-size:.82rem;transition:opacity .35s,transform .35s;transform:translateY(-4px)}.source-explainer.is-visible{opacity:1;transform:translateY(0)}.flow-stage{grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:72px;display:grid}.pyspark-node{text-align:left}.pyspark-sample{background:linear-gradient(165deg,#f8fcff,#eff7fd);border:1px solid #d5e8f6;border-radius:14px;grid-column:2;padding:12px}.semantic-column{grid-area:1/4/span 2;align-self:start;gap:10px;display:grid}.semantic-stage{min-height:0}.semantic-sample{background:linear-gradient(165deg,#f8fcff,#eff7fd);border:1px solid #d5e8f6;border-radius:14px;padding:12px}.semantic-sample h3{color:#0f405e;margin:0 0 10px;font-size:1rem}.semantic-sample img{border:1px solid #c7deef;border-radius:10px;width:100%;height:auto;display:block}.semantic-optional-step{gap:6px;margin-top:2px;display:grid}.semantic-optional-item{color:#b21818;background:#fff5f5;border:2px solid #d32020;border-radius:10px;gap:4px;padding:10px;display:grid}.semantic-optional-arrow{color:#d32020;justify-self:center;font-size:1.4rem;font-weight:700;line-height:1}.semantic-optional-item-title{color:#b21818;font-size:.9rem;font-weight:700}.semantic-optional-item-text{color:#b21818;margin:0;font-size:.82rem;line-height:1.35}.pyspark-sample h3{color:#0f405e;margin:0 0 10px;font-size:1rem}.pyspark-sample h4{color:#155170;margin:10px 0 8px;font-size:.88rem}.pyspark-sample pre{margin:0;overflow:hidden}.pyspark-sample code{color:#d8efff;white-space:pre-wrap;word-break:break-word;background:#0d2c42;border:1px solid #134a68;border-radius:11px;padding:12px;font-family:IBM Plex Mono,Consolas,monospace;font-size:.72rem;line-height:1.35;display:block}.flow-stage-arrow{color:#2e6e95;font-size:1.45rem;font-weight:700}.flow-reveal{opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;transform:translateY(10px)}.flow-reveal.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.yaml-preview pre{margin:12px 0 10px;overflow-x:auto}.yaml-preview code{color:#d8efff;background:#0f2f46;border:1px solid #124764;border-radius:12px;padding:14px;font-family:IBM Plex Mono,Consolas,monospace;font-size:.85rem;line-height:1.5;display:block}@keyframes tenant-copy-pulse{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@keyframes tenant-copy-pulse-vertical{0%,to{transform:rotate(90deg)translate(0)}50%{transform:rotate(90deg)translate(4px)}}@keyframes tenant-card-bloom{0%{transform:scale(.95)}to{transform:scale(1)}}@media (width<=920px){.deck-with-sidebar{grid-template-columns:1fr}.side-nav{max-height:none;position:static}.content-grid{grid-template-columns:1fr}.slide{min-height:auto;max-height:none}.visual-text{font-size:15px}.visual-subtext{font-size:12px}.simple-flow-track{grid-template-columns:1fr;gap:10px}.client-rollout-stage{grid-template-columns:1fr;gap:14px}.tenant-copy-bridge{justify-self:center}.tenant-copy-arrow{animation:1.3s ease-in-out infinite tenant-copy-pulse-vertical}.tenant-copy-bridge.is-step-1 .tenant-copy-arrow,.tenant-copy-bridge.is-step-2 .tenant-copy-arrow,.tenant-copy-bridge.is-step-3 .tenant-copy-arrow{opacity:1}.tenant-clone-grid{grid-template-columns:1fr}.source-options{grid-template-columns:1fr;max-height:0}.source-options.is-visible{max-height:180px}.flow-stage{grid-template-columns:1fr;justify-items:start}.flow-stage-arrow{margin-left:6px;transform:rotate(90deg)}.pyspark-node{text-align:center}.pyspark-sample,.semantic-sample{grid-column:1;margin-left:0}.semantic-column{grid-area:auto/1;margin-left:0}}
