:root{--tpsi-red:#be1745;--tpsi-magenta:#8f0b83;--tpsi-purple:#3b00b9;--tpsi-ink:#07020d;--tpsi-soft:#f6f1fb;color:#1d1d1f;background:var(--tpsi-soft);font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}h1,h2,h3,p{margin-top:0}.nav{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);color:#fff;background:#07020dc7;border-bottom:1px solid #ffffff1f;width:100%;position:fixed;top:0}.navInner{justify-content:space-between;align-items:center;gap:24px;max-width:1180px;height:58px;margin:0 auto;padding:0 24px;display:flex}.navLogo{object-fit:cover;object-position:center;border-radius:8px;width:260px;max-width:42vw;height:34px}.loginLogo{object-fit:cover;object-position:center;border-radius:18px;width:min(100%,320px);height:96px;margin:0 auto 22px;display:block;box-shadow:0 20px 60px #3b00b933}.brandMark{letter-spacing:-.2px;color:#111;background:#f5f5f7;border-radius:9px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:grid}.brandMark.large{color:#fff;background:#1d1d1f;border-radius:14px;width:42px;height:42px;margin:0 auto 22px}.navLinks{opacity:.88;gap:28px;font-size:12px;display:flex}.navLinks a:hover,.navAction:hover{color:#fff;text-shadow:0 0 16px #ffffffb3}.navAction{color:#f5f5f7;font-size:12px}.eyebrow{color:#a1a1a6;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-size:13px;font-weight:650}.eyebrow.dark{color:#6e6e73}.loginOnly{background:linear-gradient(135deg, var(--tpsi-red), var(--tpsi-purple));place-items:center;min-height:100vh;padding:28px;display:grid}.privateLogin{width:min(100%,430px)}.loginHeader{text-align:center;margin-bottom:24px}.loginHeader h1{color:#fff;letter-spacing:-2px;margin:0 0 10px;font-size:52px;line-height:1}.loginHeader p:not(.eyebrow){color:#ffffffc7;margin:0;font-size:18px}.loginHeader .eyebrow.dark{color:#ffffffb8}.loginCard{background:#fff;border-radius:28px;gap:16px;padding:28px;display:grid;box-shadow:0 20px 70px #00000014}.loginCard svg{color:#0071e3}.loginCard label{color:#6e6e73;gap:8px;font-size:13px;display:grid}.loginCard input{color:#1d1d1f;background:#f5f5f7;border:0;border-radius:14px;outline:none;height:46px;padding:0 14px}.loginCard input:focus{box-shadow:0 0 0 2px #0071e3}.loginCard button{background:linear-gradient(135deg, var(--tpsi-red), var(--tpsi-purple));color:#fff;cursor:pointer;border:0;border-radius:999px;height:46px}.loginCard button:disabled{opacity:.6;cursor:wait}.formError{color:#b42318;background:#fff1f0;border-radius:12px;padding:10px 12px;font-size:13px}.hero{background:radial-gradient(circle at 18% 18%, #ffffff2e, transparent 25%), linear-gradient(135deg, var(--tpsi-red), var(--tpsi-purple));color:#fff;grid-template-columns:minmax(280px,500px) minmax(320px,720px);justify-content:center;align-items:center;gap:56px;min-height:100vh;padding:118px 28px 70px;display:grid}.heroLogo{object-fit:cover;object-position:center;border-radius:22px;width:min(100%,420px);height:128px;margin-bottom:24px;box-shadow:0 24px 80px #07020d38}h1{letter-spacing:-3px;margin-bottom:18px;font-size:clamp(48px,7vw,86px);font-weight:650;line-height:.98}.subhead{color:#ffffffc7;letter-spacing:-.5px;max-width:530px;margin-bottom:24px;font-size:21px;line-height:1.35}.heroActions{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.heroButton{min-height:46px;color:var(--tpsi-purple);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-weight:750;display:inline-flex;box-shadow:0 12px 30px #07020d2e}.heroButton.secondary{color:#fff;box-shadow:none;background:#ffffff1f;border:1px solid #ffffff40}.metricStrip{grid-template-columns:repeat(3,1fr);gap:10px;max-width:460px;display:grid}.metricStrip span{color:#ffffffbd;background:#ffffff1a;border-radius:18px;padding:14px 16px;font-size:12px}.metricStrip b{color:#fff;letter-spacing:-1px;font-size:25px;display:block}.section{padding:92px 28px}.section.light{background:var(--tpsi-soft)}.section h2{letter-spacing:-2px;margin-bottom:14px;font-size:clamp(34px,5vw,58px);line-height:1.03}.guideSection{background:var(--tpsi-ink);color:#fff}.guideSection .sectionHeader{max-width:1120px}.guideSection .eyebrow{color:#ffffffad}.guideGrid{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1120px;margin:28px auto 0;display:grid}.guideCard{background:#ffffff14;border:1px solid #ffffff24;border-radius:28px;min-height:190px;padding:24px;box-shadow:0 24px 70px #00000040}.guideCard strong{margin-bottom:12px;font-size:20px;display:block}.guideCard p{color:#ffffffb3;line-height:1.45}.workspaceGrid{grid-template-columns:1.1fr .9fr;gap:18px;max-width:1160px;margin:0 auto;display:grid}.workCard{background:#fff;border-radius:32px;min-height:310px;padding:28px;box-shadow:0 14px 45px #0000000a}.workCard h2{color:#1d1d1f}.workCard p:not(.eyebrow){color:#6e6e73;font-size:17px;line-height:1.45}.datasetName strong{color:#1d1d1f;overflow-wrap:anywhere}.bigUpload{background:var(--tpsi-ink);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:56px;margin-top:22px;padding:0 22px;font-weight:750;display:inline-flex;position:relative;overflow:hidden}.bigUpload input{opacity:0;cursor:pointer;position:absolute;inset:0}.pythonActions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.pythonEngine{min-height:46px;color:var(--tpsi-purple);cursor:pointer;background:#f0e7ff;border:0;border-radius:999px;padding:0 18px;font-weight:750}.pythonEngine.primary{background:linear-gradient(135deg, var(--tpsi-red), var(--tpsi-purple));color:#fff}.runPrimary{width:100%;min-height:54px;font-size:17px}.runBox{background:#fbf8ff;border:1px solid #eadcff;border-radius:22px;margin-top:18px;padding:16px}.runBox .eyebrow{margin-bottom:10px}.pythonProof{color:#1d1d1f;background:#fffffff2;border:1px solid #fff6;border-radius:30px;width:min(100%,520px);padding:24px;box-shadow:0 30px 90px #07020d3d}.pythonProof.compact{width:100%;box-shadow:none;background:#fff;border-color:#eadcff;border-radius:18px;margin-top:12px;padding:14px}.proofTop{align-items:center;gap:10px;margin-bottom:10px;display:flex}.proofTop strong{letter-spacing:-.4px;font-size:22px}.pythonProof.compact .proofTop strong{font-size:16px}.proofDot{background:#8a8a8e;border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 6px #8a8a8e1f}.pythonProof[data-status=booting] .proofDot{background:#f59e0b;box-shadow:0 0 0 6px #f59e0b29}.pythonProof[data-status=ready] .proofDot,.pythonProof[data-status=verified] .proofDot{background:#16a34a;box-shadow:0 0 0 6px #16a34a29}.pythonProof[data-status=error] .proofDot{background:#dc2626;box-shadow:0 0 0 6px #dc262629}.pythonProof p{color:#515154;margin:0 0 12px;font-size:16px;line-height:1.45}.pythonProof small{color:#6e6e73}.advancedBox{color:#515154;background:#fbf8ff;border:1px solid #eadcff;border-radius:18px;margin-top:14px;padding:14px 16px}.advancedBox summary{cursor:pointer;color:var(--tpsi-purple);font-weight:700}.advancedBox p{margin:10px 0 12px;font-size:14px!important}.artifactList{background:#f5f5f7;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:14px;display:flex}.artifactList strong{width:100%;font-size:13px}.artifactList button{color:#06c;cursor:pointer;background:#fff;border:0;border-radius:999px;padding:9px 12px}.demoDetails{color:#515154;background:#f5f5f7;border-radius:16px;margin-top:16px;padding:12px 14px}.demoDetails summary{cursor:pointer;color:#515154;font-weight:700}.demoButtons{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.demoButtons button{color:var(--tpsi-purple);cursor:pointer;background:#f0e7ff;border:0;border-radius:999px;padding:10px 14px}.controlsCard{align-content:start;gap:14px;display:grid}.control{color:#6e6e73;gap:8px;font-size:13px;display:grid}.control select{color:#1d1d1f;background:#f5f5f7;border:0;border-radius:15px;outline:none;height:48px;padding:0 14px}.control select:focus{box-shadow:0 0 0 2px #0071e3}.columnsSection{background:#fff}.columnDetails{display:block}.columnDetails summary{cursor:pointer;background:#f5f5f7;border-radius:24px;max-width:1120px;margin:0 auto 24px;padding:22px 24px;list-style-position:inside}.columnDetails summary .eyebrow{margin-bottom:8px;display:block}.columnDetails summary strong{letter-spacing:-1.4px;font-size:clamp(28px,4vw,44px);line-height:1.05;display:block}.sectionHeader{max-width:1120px;margin:0 auto 24px}.columnGrid{grid-template-columns:repeat(4,1fr);gap:12px;max-width:1120px;margin:0 auto;display:grid}.columnCard{background:#f5f5f7;border-radius:22px;align-content:start;gap:7px;min-height:150px;padding:18px;display:grid}.columnCard strong{letter-spacing:-.35px;overflow-wrap:anywhere}.columnCard span{width:fit-content;color:var(--tpsi-purple);background:#f0e7ff;border-radius:999px;padding:5px 9px;font-size:12px}.columnCard em,.columnCard small{color:#6e6e73;font-size:12px;font-style:normal;line-height:1.35}.darkPanel{background:var(--tpsi-ink);color:#fff}.analysisShell{grid-template-columns:.8fr 1.2fr;align-items:start;gap:32px;max-width:1120px;margin:0 auto;display:grid}.analysisShell.pythonShell{border-top:0;margin-top:0;padding-top:0}.analysisShell.previewShell{margin-top:20px}.analysisShell p:not(.eyebrow){color:#ffffffad;font-size:18px;line-height:1.45}.previewDetails{border-top:1px solid #ffffff24;max-width:1120px;margin:32px auto 0;padding-top:24px}.previewDetails summary{cursor:pointer;color:#ffffffc7;font-weight:750}.emptyPython{text-align:center;color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:30px;align-content:center;place-items:center;gap:10px;min-height:220px;padding:28px;display:grid}.emptyPython span{color:#ffffffa8}.analysisPanel{color:#1d1d1f;background:#f5f5f7;border:1px solid #ffffff1f;border-radius:30px;overflow:hidden;box-shadow:0 35px 90px #00000073}.analysisPanel.large{box-shadow:none;border:1px solid #ffffff29}.panelHeader{background:#fff;border-bottom:1px solid #eeeef0;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.panelHeader p{color:#6e6e73;margin-bottom:5px;font-size:13px}.panelHeader h2{letter-spacing:-.8px;margin:0;font-size:25px}.exportButton{white-space:nowrap;color:#fff;cursor:pointer;background:#1d1d1f;border:0;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:13px;display:inline-flex}.crosstabTable{overflow-x:auto}.crossRow{background:#fff;border-top:1px solid #eeeef0;grid-template-columns:1.15fr repeat(6,minmax(92px,1fr));min-width:610px;display:grid}.crossRow:first-child{border-top:0}.crossRow.head{color:#6e6e73;background:#fbfbfd;font-size:12px}.crossRow>*{border-left:1px solid #eeeef0;padding:13px 14px}.crossRow>:first-child{border-left:0}.crossRow strong{gap:2px;font-size:13px;display:grid}.crossRow span{gap:2px;font-size:14px;display:grid}.crossRow em{color:#6e6e73;font-size:11px;font-style:normal}.checks.compact{background:#f5f5f7;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;display:grid}.checks.compact span{color:#6e6e73;background:#fff;border-radius:14px;align-items:center;gap:7px;padding:10px;font-size:12px;display:flex}.checks svg{color:#0071e3;flex:none}@media (width<=980px){.hero,.workspaceGrid,.analysisShell,.guideGrid{grid-template-columns:1fr}.hero{gap:28px;min-height:auto;padding-top:92px}.columnGrid{grid-template-columns:repeat(2,1fr)}.pythonProof{width:100%}}@media (width<=640px){.navInner{gap:10px;height:52px;padding:0 14px}.navLogo{width:176px;max-width:58vw;height:28px}.navLinks{display:none}.navAction{text-overflow:ellipsis;white-space:nowrap;max-width:34vw;overflow:hidden}.hero,.section{padding-left:16px;padding-right:16px}.hero{padding-top:72px;padding-bottom:30px}.heroLogo{display:none}h1{letter-spacing:-1.5px;margin-bottom:12px;font-size:clamp(34px,10.5vw,44px);line-height:1.02}.subhead{margin-bottom:16px;font-size:16px;line-height:1.35}.heroActions{margin-bottom:14px}.heroButton,.bigUpload,.pythonEngine{width:100%;min-height:48px}.metricStrip{display:none}.columnGrid,.checks.compact{grid-template-columns:1fr}.pythonProof{border-radius:22px;padding:18px}.proofTop strong{font-size:18px}.section{padding-top:48px;padding-bottom:48px}.section h2{letter-spacing:-1.4px;font-size:34px}.workCard{border-radius:24px;padding:20px}.guideCard{border-radius:22px;min-height:0;padding:18px}.panelHeader{flex-direction:column}.crossRow{grid-template-columns:1.05fr repeat(6,minmax(78px,1fr));min-width:520px}.previewDetails{margin-top:24px}}
