behavior-wrapped 0.8.13 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ @font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-italic-B5xAaiFk.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-italic-DzZdc28x.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-italic-DcOpz6Lw.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-italic-CILZdfAp.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-italic-K3WlGtc8.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-italic-0pjOp8NU.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-italic-DpCbqKDY.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#12101f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;--ink:#12101f;--paper:#f7f5ee;--purple:#8d5cff;--lime:#c9f24b;--coral:#ff775f;--blue:#6ac8ff;--pink:#ff7dbe;--yellow:#ffd85d;background:#f7f5ee;font-family:-apple-system,BlinkMacSystemFont,Inter Variable,Inter,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f7f5ee;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.app-shell{min-height:100vh;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#0d0b1be6;border-bottom:1px solid #ffffff1a;align-items:center;height:76px;padding:0 clamp(20px,5vw,76px);display:flex;position:relative}.brand{color:#fff;letter-spacing:-.02em;background:0 0;border:0;align-items:center;gap:11px;font-size:15px;font-weight:760;display:flex}.brand-mark{flex:none;width:34px;height:34px;overflow:visible}.local-pill{color:#bbb5d0;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:7px;margin-left:28px;padding:7px 11px;font-size:12px;display:flex}.pulse{background:var(--lime);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #c9f24b1f}.topbar nav{background:#ffffff0f;border-radius:12px;gap:6px;margin-left:auto;padding:4px;display:flex}.topbar nav button{color:#aaa4bc;background:0 0;border:0;border-radius:9px;padding:8px 13px;font-size:12px;font-weight:700}.topbar nav button.active{color:var(--ink);background:#fff}.hero{background:radial-gradient(circle at 66% 30%,#34206f 0,#16112f 31%,#0d0b1b 68%);justify-content:space-between;align-items:center;min-height:500px;padding:92px clamp(20px,8vw,122px) 88px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";border:1px solid #ffffff0f;border-radius:50%;width:580px;height:580px;position:absolute;top:-28%;right:9%;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff03}.hero-glow{filter:blur(2px);border-radius:50%;position:absolute}.glow-one{background:#ff775f29;width:300px;height:300px;top:90px;right:-80px}.glow-two{background:#8d5cff4d;width:230px;height:230px;bottom:-180px;left:30%}.hero-copy{z-index:2;max-width:750px;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--lime);font-size:11px;font-weight:850}.hero h1,.report-intro h1,.donation-hero h1{letter-spacing:-.065em;margin:22px 0;font-size:clamp(46px,6.6vw,88px);font-weight:830;line-height:.92}h1 em{color:var(--lime);font-family:Georgia,serif;font-weight:500}.hero-copy>p{color:#b8b2ca;max-width:540px;font-size:18px;line-height:1.55}.hero-card{background:var(--lime);width:246px;min-width:246px;height:310px;color:var(--ink);z-index:2;border-radius:26px;margin-right:5vw;padding:26px;position:relative;transform:rotate(5deg);box-shadow:-30px 30px 80px #00000059}.hero-card:before{content:"";border:1px solid #12101f26;border-radius:19px;position:absolute;inset:9px}.hero-card-label{letter-spacing:.17em;font-size:9px;font-weight:900}.hero-number{letter-spacing:-.08em;margin-top:48px;font-size:92px;font-weight:900;line-height:1}.hero-number span{font-size:32px}.hero-card p{margin:4px 0 31px;font-size:13px;font-weight:750}.spark{align-items:end;gap:5px;height:42px;display:flex}.spark i{background:var(--ink);opacity:.9;border-radius:4px 4px 1px 1px;width:13px}.spark i:first-child{height:30%}.spark i:nth-child(2){height:50%}.spark i:nth-child(3){height:42%}.spark i:nth-child(4){height:80%}.spark i:nth-child(5){height:63%}.spark i:nth-child(6){height:100%}.spark i:nth-child(7){height:84%}.workspace{color:var(--ink);background:var(--paper);padding:70px clamp(20px,8vw,122px) 90px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:34px;display:flex}.section-heading>div{grid-template-columns:auto 1fr;align-items:center;column-gap:16px;display:grid}.step{background:var(--ink);color:#fff;border-radius:50%;grid-row:span 2;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:28px}.section-heading p{color:#6b6875;margin:4px 0 0;font-size:13px}.demo-badge{color:#6339bd;background:#e8ddff;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:800}.filters{background:#fff;border:1px solid #dedbe3;border-radius:18px 18px 0 0;grid-template-columns:220px 220px 1fr;display:grid;overflow:hidden}.filters label{color:#77727d;text-transform:uppercase;letter-spacing:.1em;border-right:1px solid #e4e1e6;flex-direction:column;gap:7px;padding:15px 19px;font-size:10px;font-weight:800;display:flex}.filters input{color:var(--ink);background:0 0;border:0;padding:0;font-weight:700}.filter-stat{justify-content:end;align-items:baseline;gap:8px;padding:15px 20px;display:flex}.filter-stat strong{font-size:27px}.filter-stat span{color:#77727d;font-size:12px}.project-chips{background:#efedf0;border:1px solid #dedbe3;border-top:0;flex-wrap:wrap;gap:8px;padding:18px;display:flex}.project-chips button{color:#5e5a67;background:#fff;border:1px solid #d7d3dc;border-radius:999px;align-items:center;gap:7px;padding:8px 12px 8px 8px;font-size:12px;font-weight:700;display:flex}.project-chips button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.project-chips button>span{background:#ffffff24;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.project-chips button small{color:#8d8795;min-width:18px}.session-list{background:#fff;border:1px solid #dedbe3;border-top:0;border-radius:0 0 18px 18px;overflow:hidden}.list-head,.session-row{grid-template-columns:minmax(280px,1fr) 110px 100px 90px;align-items:center;display:grid}.list-head{letter-spacing:.12em;text-transform:uppercase;color:#928d98;border-bottom:1px solid #eeeaf0;min-height:46px;padding:0 18px 0 60px;font-size:9px;font-weight:850}.list-head button{color:#6544ae;text-transform:none;letter-spacing:0;background:0 0;border:0;padding:4px;font-size:10px;font-weight:800}.session-row{color:#696571;cursor:pointer;border-bottom:1px solid #efecf1;min-height:69px;padding:0 18px;font-size:12px;position:relative}.session-row:last-child{border-bottom:0}.session-row:hover{background:#fbfaff}.session-row input{opacity:0;position:absolute}.custom-check{color:#0000;border:1px solid #cdc8d2;border-radius:7px;place-items:center;width:22px;height:22px;margin-right:18px;display:grid;position:absolute;left:20px}.session-row input:checked+.custom-check{background:var(--purple);border-color:var(--purple);color:#fff}.session-title{color:var(--ink);flex-direction:column;gap:5px;padding-left:42px;display:flex}.session-title strong{font-size:13px}.session-title small{color:#8a8590;font-size:11px}.chevron{color:#b0aab7;text-align:right;font-size:21px}.no-results,.empty-state{text-align:center;color:#77727d;padding:52px}.empty-state{background:#fff;border:1px solid #dedbe3;border-radius:18px}.empty-state h3{color:var(--ink)}.empty-state code{color:#693ebc}.analyze-bar{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.analyze-bar>div{color:#77727d;align-items:center;gap:12px;display:flex}.analyze-bar>div>span{flex-direction:column;gap:2px;display:flex}.analyze-bar strong{color:#33303b;font-size:12px}.analyze-bar small{font-size:10px}.shield{color:var(--purple);font-size:18px}.primary{background:var(--purple);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:24px;padding:14px 19px;font-weight:800;display:flex;box-shadow:0 8px 24px #8d5cff38}.primary:hover{transform:translateY(-1px)}.primary:disabled,.export-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-spinner{border:2px solid #ffffff61;border-top-color:#fff;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin;display:block}.analysis-progress{color:var(--ink);background:#f9f7fb;border:1px solid #d9d4df;border-radius:14px;margin-top:14px;padding:15px 17px}.analysis-progress>div:first-child{justify-content:space-between;gap:20px;margin-bottom:11px;display:flex}.analysis-progress strong{font-size:11px}.analysis-progress span{color:#79737f;font-size:10px}.analysis-progress-track{background:#e6e0eb;border-radius:999px;height:6px;overflow:hidden}.analysis-progress-track i{border-radius:inherit;background:linear-gradient(90deg, var(--purple), var(--pink));width:38%;height:100%;animation:1.25s ease-in-out infinite scan-progress;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan-progress{0%{transform:translate(-105%)}to{transform:translate(275%)}}.error{color:#b22d49;font-size:12px;font-weight:700}.judge-option{color:var(--ink);cursor:pointer;background:#f9f7fb;border:1px solid #d9d4df;border-radius:15px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:16px;padding:16px 18px;display:grid;position:relative}.judge-option input{opacity:0;position:absolute}.judge-option .custom-check{margin:0;position:static}.judge-option input:checked+.custom-check{background:var(--purple);border-color:var(--purple);color:#fff}.judge-option>span:nth-of-type(2){flex-direction:column;gap:4px;display:flex}.judge-option strong{font-size:12px}.judge-option small{color:#77717e;font-size:10px;line-height:1.45}.judge-option em{color:#6940bc;white-space:nowrap;font-size:10px;font-style:normal;font-weight:850}.judge-option.unavailable{opacity:.62;cursor:not-allowed}.judge-option.unavailable em{color:#77717e}.judge-option.judge-required{cursor:default}.network-mark{color:#6840b7;background:#e8ddff;border-radius:8px;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:grid}.privacy-panel{color:#c0bacf;grid-template-columns:70px 1fr;gap:16px;max-width:760px;margin:72px auto;padding:0 24px;display:grid}.privacy-icon{background:#8d5cff26;border:1px solid #8d5cff59;border-radius:18px;place-items:center;width:58px;height:58px;display:grid}.privacy-panel h3{color:#fff;letter-spacing:-.025em;margin:9px 0;font-size:22px}.privacy-panel p{margin:0;font-size:13px;line-height:1.7}.privacy-facts{color:#e1ddea;gap:20px;margin-top:17px;font-size:11px;font-weight:700;display:flex}footer{color:#716b80;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;min-height:74px;padding:0 clamp(20px,5vw,76px);font-size:11px;display:flex}footer b{color:var(--lime)}.loading-screen{text-align:center;color:#aaa3bb;place-content:center;min-height:calc(100vh - 150px);display:grid}.orb{background:linear-gradient(135deg, var(--lime), var(--purple));border-radius:50%;width:52px;height:52px;margin:0 auto 20px;animation:1.4s ease-in-out infinite alternate breathe;box-shadow:0 0 70px #8d5cffb3}@keyframes breathe{to{opacity:.6;transform:scale(.8)}}.report-page{background:var(--paper);color:var(--ink);padding-bottom:90px}.report-intro{color:#fff;background:radial-gradient(circle at 75% 40%,#502592 0,#221444 32%,#0d0b1b 68%);min-height:500px;padding:80px clamp(20px,8vw,122px);position:relative}.report-intro:after{content:"✦";color:var(--lime);text-shadow:0 0 60px #c9f24b40;font-size:190px;line-height:1;position:absolute;top:80px;right:12%;transform:rotate(12deg)}.report-intro h1{z-index:1;margin-bottom:18px;position:relative}.report-intro>p{color:#b9b2ca;max-width:600px}.mode-toggle{z-index:2;background:#ffffff1a;border:1px solid #ffffff1a;border-radius:14px;margin-top:25px;padding:4px;display:inline-flex;position:relative}.mode-toggle button{color:#bbb5c9;background:0 0;border:0;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:800}.mode-toggle button.active{color:var(--ink);background:#fff}.mode-toggle .shield{margin-right:6px;font-size:11px}.mode-note{margin-top:10px;font-size:11px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:13px;max-width:1450px;margin:auto;padding:70px clamp(20px,8vw,122px) 30px;display:grid}.stat-card{border-radius:22px;flex-direction:column;justify-content:space-between;min-height:210px;padding:24px;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";border:30px solid #0000000f;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-75px;right:-65px}.stat-card>span{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:900}.stat-card strong{letter-spacing:-.07em;font-size:clamp(43px,6vw,72px);line-height:1}.stat-card p{margin:0;font-size:12px;font-weight:700}.purple{background:var(--purple);color:#fff}.lime{background:var(--lime)}.orange{background:var(--coral)}.blue{background:var(--blue)}.pink{background:var(--pink)}.yellow{background:var(--yellow)}.wrapped-card{border-radius:30px;max-width:calc(1450px - 16vw);min-height:420px;margin:13px auto 85px;padding:clamp(32px,5vw,70px)}.catchphrase-card{color:#16111b;background:radial-gradient(circle at 12% 10%,#ffd4e7 0,#0000 35%),linear-gradient(135deg,#ff7dbe,#ff775f);grid-template-columns:1fr;align-items:center;display:grid;position:relative;overflow:hidden}.catchphrase-card:after{content:"“";color:#fff3;pointer-events:none;font-family:Georgia,serif;font-size:420px;line-height:1;position:absolute;top:-35%;right:3%}.catchphrase-card>*{z-index:1;position:relative}.catchphrase-card .card-kicker{color:#72264d}.catchphrase-card h2{letter-spacing:-.04em;max-width:820px;margin:19px 0;font-family:Georgia,serif;font-size:clamp(38px,5vw,68px);font-weight:600;line-height:1.03}.catchphrase-card p{color:#65354b;max-width:600px;font-size:12px;line-height:1.55}.tools-card{color:#fff;background:#171329;grid-template-columns:.75fr 1.25fr;align-items:center;gap:70px;display:grid}.card-kicker{letter-spacing:.2em;color:var(--blue);font-size:10px;font-weight:900}.tools-card h2{letter-spacing:-.06em;margin:18px 0;font-size:clamp(38px,5vw,67px);line-height:.98}.tools-card>div>p{color:#8f899c;font-size:13px}.tool-chart{flex-direction:column;display:flex}.tool-row{border-bottom:1px solid #ffffff14;grid-template-columns:38px minmax(100px,.7fr) 1fr 40px;align-items:center;gap:12px;min-height:57px;display:grid}.rank{color:#5f586d;font-size:10px;font-weight:900}.tool-row strong{font-size:13px}.tool-row>div{background:#ffffff14;border-radius:99px;height:5px;overflow:hidden}.tool-row i{border-radius:inherit;background:linear-gradient(90deg, var(--purple), var(--pink));height:100%;display:block}.tool-row b{text-align:right;color:#bdb6ca;font-size:12px}.findings-section{color:#f8f5ff;background:radial-gradient(circle at 50% 18%,#4b246b 0,#21162f 36%,#130f1b 72%);max-width:none;margin:0 0 85px;padding:82px clamp(20px,7vw,110px) 100px;position:relative;overflow:hidden}.findings-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 16% 20%,#9766db24,#0000 28%),linear-gradient(#ffffff05 1px,#0000 1px) 0 0/46px 46px,linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/46px 46px;position:absolute;inset:0}.findings-section .section-heading,.finding-grid,.findings-section .quiet-card{z-index:1;width:min(1220px,100%);margin-inline:auto;position:relative}.findings-section .section-heading{margin-bottom:42px}.findings-section .section-heading h2{color:#fff;letter-spacing:-.06em;font-size:clamp(38px,5vw,66px);line-height:.9}.findings-section .section-heading p{color:#b9acc7;margin-top:11px}.section-heading.light .step{background:var(--lime);color:#191320;box-shadow:0 0 24px #c9f24b33}.finding-grid{perspective:1200px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;display:grid}.finding-card{color:#19151e;background:linear-gradient(145deg,#fffffff7,#f4f1ebf5) padding-box padding-box,conic-gradient(from 140deg,#d7fbff,#a9edff,#f0b9f0,#fff0a8,#b9f5d3,#fdfdff,#d7fbff) border-box;border:10px solid #0000;border-radius:28px;flex-direction:column;min-width:0;min-height:588px;padding:22px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 70px #03010957,inset 0 0 0 1px #fffc}.finding-card:nth-child(3n+1){transform:rotate(-1.2deg)}.finding-card:nth-child(3n+2){transform:translateY(-7px)}.finding-card:nth-child(3n+3){transform:rotate(1.2deg)}.finding-card:hover{transform:translateY(-7px)rotate(0);box-shadow:0 38px 85px #03010970,inset 0 0 0 1px #ffffffe6}.finding-card:before{content:"";z-index:0;background:repeating-conic-gradient(from 0deg at 50% 50%, #6742c8 0 10deg, #d9cdff 10deg 20deg);border:3px solid #19151e;height:168px;position:absolute;top:66px;left:18px;right:18px;box-shadow:inset 0 0 0 4px #ffffff2e}.finding-card:after{content:"";z-index:1;background:#fbf8f1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%2319151e' d='M32 8l7 17 17 7-17 7-7 17-7-17-17-7 17-7z'/%3E%3C/svg%3E") 50%/52px no-repeat;border:4px solid #19151e;border-radius:50%;width:88px;height:88px;position:absolute;top:104px;left:50%;transform:translate(-50%);box-shadow:7px 7px #19151e}.kind-correction:before{background:radial-gradient(circle, #d9ff63 0 15%, transparent 16%), repeating-conic-gradient(from 0deg, #6c43c8 0 10deg, #e3d7ff 10deg 20deg)}.kind-correction:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%2319151e' stroke-width='7' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M53 18H27c-10 0-17 7-17 17s7 17 17 17h22'/%3E%3Cpath d='M23 6L10 18l13 12'/%3E%3C/g%3E%3C/svg%3E")}.kind-repetition:before{background:repeating-linear-gradient(45deg,#ff6d8d 0 15px,#ffe0e7 15px 30px)}.kind-repetition:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%2319151e' stroke-width='7' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M49 24A19 19 0 0 0 16 19'/%3E%3Cpath d='M14 7l2 13 13-2'/%3E%3Cpath d='M15 40a19 19 0 0 0 33 5'/%3E%3Cpath d='M50 57l-2-13-13 2'/%3E%3C/g%3E%3C/svg%3E");border-radius:13px;transform:translate(-50%)rotate(7deg)}.kind-clarification:before{background-color:#27224f;background-image:radial-gradient(circle at 20% 20%,#60d9ff 0 4%,#0000 5%),radial-gradient(circle at 70% 70%,#60d9ff 0 5%,#0000 6%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:55px 55px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.kind-clarification:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%2319151e' stroke-width='7' stroke-linecap='square'%3E%3Cpath d='M18 19c1-9 8-13 16-13 10 0 17 6 17 15 0 12-15 13-17 23'/%3E%3Cpath d='M34 55v2'/%3E%3C/g%3E%3C/svg%3E");border-radius:50% 50% 10px}.kind-scope:before{background-color:#0000;background-image:linear-gradient(45deg,#ffcc5e 25%,#0000 25% 75%,#ffcc5e 75%),linear-gradient(45deg,#ffcc5e 25%,#fff1b8 25% 75%,#ffcc5e 75%);background-position:0 0,16px 16px;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.kind-scope:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%2319151e' stroke-width='7' stroke-linecap='square'%3E%3Cpath d='M22 8l-4 48M46 8l-4 48M8 24h48M7 43h48'/%3E%3C/g%3E%3C/svg%3E");border-radius:14px}.finding-top{z-index:2;justify-content:space-between;align-items:center;gap:12px;min-height:29px;display:flex;position:relative}.finding-index{color:#3e3743;letter-spacing:.12em;font-size:11px;font-weight:950}.confidence{color:#211c25;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#fcfaf6c7;border:1px solid #6e6670;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:900}.c-high,.c-medium,.c-low{color:#211c25;background:#fcfaf6c7}.finding-card h3{color:#19151e;letter-spacing:-.045em;z-index:2;max-width:none;margin:203px 0 11px;font-size:26px;line-height:1.06;position:relative}.finding-card>p{color:#67616b;z-index:2;margin:0 0 20px;font-size:13px;line-height:1.5;position:relative}.finding-card details{z-index:2;border-top:2px solid #d8d3d7;margin-top:auto;padding-top:14px;position:relative}.finding-card summary{color:#514a55;cursor:pointer;font-size:11px;font-weight:900}.finding-card details p{color:#756e78;font-size:11px;line-height:1.5}.evidence-link{color:#342b3a;text-align:left;z-index:2;background:0 0;border:0;justify-content:space-between;padding:13px 0 0;font-size:11px;font-weight:900;display:flex;position:relative}.share-safe{color:#4d684b;z-index:2;margin-top:13px;font-size:11px;font-weight:850;position:relative}.quiet-card{text-align:center;background:#fff;border:1px solid #e1dde5;border-radius:24px;padding:60px}.quiet-card>span{color:var(--purple);font-size:44px}.quiet-card h3{font-size:24px}.quiet-card p{color:#77717e;max-width:620px;margin:auto;line-height:1.6}.share-section{color:#fff;background:var(--purple);border-radius:28px;justify-content:space-between;align-items:end;gap:40px;max-width:calc(1450px - 16vw);min-height:330px;margin:0 auto 85px;padding:55px;display:flex;position:relative;overflow:hidden}.share-section:after{content:"SAFE";color:#ffffff0f;font-size:130px;font-weight:950;position:absolute;top:-35px;right:-18px;transform:rotate(8deg)}.share-section .eyebrow{color:var(--lime)}.share-section h2{letter-spacing:-.055em;margin:16px 0;font-size:clamp(34px,4vw,56px);line-height:.98}.share-section p{color:#ded4f3;max-width:590px;font-size:12px;line-height:1.6}.share-button{white-space:nowrap;z-index:1;background:var(--lime);color:var(--ink);border:0;border-radius:13px;gap:22px;padding:15px 18px;font-size:12px;font-weight:850;display:flex;position:relative}.research-cta{color:#fff;background:#171329;border:1px solid #ffffff17;border-radius:24px;grid-template-columns:55px 1fr auto;align-items:center;gap:22px;max-width:calc(1450px - 16vw);margin:auto;padding:32px;display:grid}.research-star{width:55px;height:55px;color:var(--lime);background:#c9f24b1f;border-radius:17px;place-items:center;font-size:25px;display:grid}.research-cta h2{letter-spacing:-.03em;margin:8px 0;font-size:22px}.research-cta p{color:#9690a2;margin:0;font-size:12px}.research-cta button{color:#fff;background:0 0;border:1px solid #ffffff2e;border-radius:12px;gap:18px;padding:13px 16px;font-size:11px;font-weight:800;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05040cc2;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(720px,100%);max-height:90vh;color:var(--ink);border-radius:26px;padding:34px;position:relative;overflow:auto;box-shadow:0 30px 100px #00000080}.modal-close{background:#e9e5ec;border:0;border-radius:50%;width:34px;height:34px;font-size:20px;position:absolute;top:18px;right:18px}.private-label{color:#6c44b8;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:900}.private-label .shield{font-size:11px}.modal h2{letter-spacing:-.045em;max-width:560px;font-size:30px}.modal-method{color:#706a77;font-size:12px;line-height:1.6}.transcript-excerpt{background:#fff;border:1px solid #dfdbe2;border-radius:17px;margin:25px 0;padding:18px}.excerpt-line{border-bottom:1px solid #f0edf1;grid-template-columns:60px 1fr;gap:13px;padding:12px 0;display:grid}.excerpt-line:last-child{border:0}.excerpt-line>span{color:#7e7784;padding-top:3px;font-size:10px;font-weight:900}.excerpt-line.assistant>span{color:#6c44b8}.excerpt-line p{white-space:pre-wrap;color:#47424d;margin:0;font-size:12px;line-height:1.6}.modal-foot{border-top:1px solid #dfdbe2;grid-template-columns:auto 1fr;column-gap:10px;padding-top:17px;display:grid}.modal-foot span,.modal-foot strong{font-size:11px}.modal-foot strong{color:#6c44b8}.modal-foot small{color:#807a86;grid-column:1/-1;margin-top:8px}.donation-page{background:var(--paper);color:var(--ink);min-height:calc(100vh - 76px);padding:50px clamp(20px,7vw,110px) 100px}.back-link{color:#6a6472;background:0 0;border:0;padding:0;font-size:12px;font-weight:750}.donation-hero{max-width:900px;padding:58px 0 55px}.donation-hero .eyebrow{color:#6c44b8}.donation-hero h1{margin:18px 0;font-size:clamp(46px,6vw,76px)}.donation-hero p{color:#6f6976;max-width:680px;line-height:1.6}.donation-layout{grid-template-columns:minmax(280px,.7fr) minmax(450px,1.3fr);align-items:start;gap:17px;display:grid}.donation-controls,.donation-preview{background:#fff;border:1px solid #ded9e1;border-radius:23px;padding:24px}.donation-step{align-items:flex-start;gap:13px;display:flex}.donation-step>span{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:900;display:grid}.donation-step h2{margin:3px 0 5px;font-size:18px}.donation-step p{color:#817b87;margin:0;font-size:11px;line-height:1.4}.donation-sessions{border:1px solid #e7e3e9;border-radius:14px;max-height:330px;margin:20px 0;overflow:auto}.donation-sessions label{border-bottom:1px solid #eeeaf0;align-items:flex-start;gap:10px;padding:13px;font-size:12px;font-weight:750;display:flex}.donation-sessions label:last-child{border:0}.donation-sessions label>span{flex-direction:column;gap:3px;display:flex}.donation-sessions small{color:#918b96;font-size:10px;font-weight:500}.full{width:100%}.preview-placeholder{text-align:center;color:#918a98;place-content:center;justify-items:center;min-height:310px;display:grid}.redaction-spinner{border:3px solid #754ba82e;border-top-color:#754ba8;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin;display:block}.preview-placeholder p{max-width:300px;font-size:12px;line-height:1.5}.redaction-banner{color:#65743f;background:#eff8d8;border-radius:12px;justify-content:space-between;gap:15px;margin-top:20px;padding:14px;font-size:10px;display:flex}.manual-redact{margin:12px 0;display:flex}.manual-redact input{border:1px solid #dcd7e0;border-radius:10px 0 0 10px;flex:1;min-width:0;padding:10px 12px;font-size:11px}.manual-redact button{background:var(--ink);color:#fff;border:0;border-radius:0 10px 10px 0;padding:0 14px;font-size:10px;font-weight:800}.bundle-preview{background:#faf9fb;border:1px solid #e5e1e7;border-radius:14px;max-height:520px;overflow:auto}.bundle-session{border-bottom:1px solid #e5e1e7;padding:15px}.bundle-session:last-child{border:0}.bundle-session h3{justify-content:space-between;margin:0 0 12px;font-size:12px;display:flex}.bundle-session h3 small{color:#8f8995;font-weight:600}.bundle-session label{grid-template-columns:54px 1fr;gap:8px;margin-bottom:8px;display:grid}.bundle-session label>span{color:#6c44b8;padding-top:9px;font-size:9px;font-weight:900}.bundle-session textarea{resize:vertical;color:#403b46;border:1px solid #e2dfe5;border-radius:9px;width:100%;padding:8px;font-size:10px;line-height:1.5}.consent-step{border-top:1px solid #e4e0e6;margin-top:24px;padding-top:22px}.consent{color:#605b66;background:#f5f2f8;border-radius:12px;align-items:flex-start;gap:10px;margin:18px 0;padding:14px;font-size:10px;line-height:1.5;display:flex}.export-button{background:var(--lime);width:100%;color:var(--ink);border:0;border-radius:12px;padding:13px;font-size:11px;font-weight:900}.export-button span{float:right}.donation-layout,.donation-controls,.donation-preview{min-width:0}.donation-sessions label>span{overflow-wrap:anywhere;min-width:0}.automatic-redactions{background:#fbfafc;border:1px solid #ded9e1;border-radius:14px;margin:14px 0;overflow:hidden}.automatic-redactions.empty{color:#706a77;flex-direction:column;gap:4px;padding:15px;font-size:11px;display:flex}.redaction-list-heading{color:#39333f;background:#f5f2f7;border-bottom:1px solid #e7e3e9;justify-content:space-between;gap:15px;padding:13px 15px;font-size:11px;display:flex}.redaction-list-heading span{color:#7b7481}.automatic-redaction-help{color:#7b7481;background:#fff;border-bottom:1px solid #ebe7ed;margin:0;padding:9px 15px;font-size:9px}.automatic-redaction-row{border-bottom:1px solid #ebe7ed}.automatic-redaction-row:last-child{border:0}.automatic-redaction-row summary,.custom-rule-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:15px;padding:12px 15px;list-style:none;display:flex}.automatic-redaction-row summary>input{accent-color:#6c44b8;cursor:pointer;flex:none;width:15px;height:15px;margin:0}.automatic-redaction-row.disabled summary strong,.automatic-redaction-row.disabled summary code,.automatic-redaction-row.disabled summary b{color:#9a939f}.automatic-redaction-row summary::-webkit-details-marker{display:none}.custom-rule-list summary::-webkit-details-marker{display:none}.automatic-redaction-row summary>span,.custom-rule-list summary>span{align-items:baseline;gap:9px;min-width:0;display:flex}.automatic-redaction-row summary strong,.custom-rule-list summary strong{color:#3f3944;font-size:11px}.automatic-redaction-row summary code,.custom-rule-list summary code{color:#55712b;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.automatic-redaction-row summary b,.custom-rule-list summary b{color:#6c44b8;flex:none;font-size:10px}.automatic-match-list{background:#fff;border-top:1px solid #ebe7ed;max-height:360px;overflow:auto}.automatic-redaction-row .automatic-match summary{background:#fff;border-bottom:1px solid #f0edf2;padding:9px 15px}.automatic-match summary code{color:#4e4653;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;overflow:hidden}.automatic-match summary span{color:#807886;flex:none;font-size:9px}.automatic-match[open]>summary{background:#f8f6f9}.redaction-contexts{padding:0 15px 12px}.redaction-contexts p{color:#68616d;overflow-wrap:anywhere;background:#fff;border-left:2px solid #cfc5dc;margin:6px 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.5}.redaction-contexts mark,.donation-redacted{color:#3c571c;background:#dff2b9;border-radius:4px;padding:1px 3px;font-weight:800}.broad-redaction-options{background:#fbfafc;border:1px solid #ded9e1;border-radius:14px;justify-content:space-between;align-items:center;gap:15px;margin:14px 0;padding:14px 16px;display:flex}.broad-redaction-options>div:first-child{flex-direction:column;gap:4px;display:flex}.broad-redaction-options strong{color:#3f3944;font-size:11px}.broad-redaction-options span{color:#7b7481;font-size:9px;line-height:1.4}.broad-redaction-options>div:last-child{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.broad-redaction-options button{color:#675f6d;background:#fff;border:1px solid #d5cedc;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}.custom-redaction-builder{background:#f7f4f9;border:1px solid #dcd5e4;border-radius:15px;margin:16px 0;padding:17px}.custom-redaction-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.custom-redaction-heading>div:first-child{flex-direction:column;gap:4px;display:flex}.custom-redaction-heading strong,.final-preview-heading strong{color:#39333f;font-size:12px}.custom-redaction-heading span,.final-preview-heading span{color:#7b7481;font-size:9px;line-height:1.4}.redaction-mode-toggle{background:#fff;border:1px solid #d5cedc;border-radius:9px;flex:none;padding:2px;display:flex}.redaction-mode-toggle button{color:#7a7280;background:0 0;border:0;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800}.redaction-mode-toggle button.active{color:#fff;background:#2a2430}.custom-redaction-fields{grid-template-columns:minmax(150px,1fr) minmax(140px,.8fr) auto;align-items:end;gap:8px;margin-top:14px;display:grid}.custom-redaction-fields:has(.custom-flags){grid-template-columns:minmax(140px,1fr) 58px minmax(125px,.75fr) auto}.custom-redaction-fields label{color:#716977;font-size:9px;font-weight:800}.custom-redaction-fields input{color:#3d3742;background:#fff;border:1px solid #d3ccd9;border-radius:8px;width:100%;min-width:0;margin-top:5px;padding:9px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;display:block}.custom-redaction-fields button{color:#fff;white-space:nowrap;background:#29232e;border:0;border-radius:8px;height:35px;padding:0 12px;font-size:9px;font-weight:850}.regex-help{color:#7e7684;margin:9px 0 0;font-size:9px;line-height:1.5}.regex-help code{color:#5c397f}.custom-redaction-status{margin:9px 0 0;font-size:9px;font-weight:750}.custom-redaction-status.success{color:#4c6a28}.custom-redaction-status.error{color:#a43a57}.custom-rule-list{background:#fff;border:1px solid #ddd6e2;border-radius:10px;margin-top:12px;overflow:hidden}.custom-rule-list details+details{border-top:1px solid #e9e5ec}.custom-rule-list details>button{color:#9b3f59;background:0 0;border:0;margin:0 15px 12px;padding:0;font-size:9px;font-weight:800}.final-preview-heading{justify-content:space-between;align-items:baseline;gap:14px;margin:18px 2px 9px;display:flex}.bundle-preview{overflow:hidden auto}.bundle-session{min-width:0;padding:16px}.bundle-session h3{gap:12px;min-width:0;margin-bottom:16px}.bundle-session h3 small{flex:none}.bundle-chat{flex-direction:column;min-width:0;display:flex}.donation-message-row{padding-right:72px}.bundle-message{flex-direction:column;width:min(86%,620px);min-width:0;margin-bottom:13px;display:flex}.bundle-message.assistant{align-self:flex-start;align-items:flex-start}.bundle-message.user{align-self:flex-end;align-items:flex-end}.bundle-role{color:#817a89;margin:0 7px 5px;font-size:9px;font-weight:850}.bundle-bubble{background:#fff;border:1px solid #e3dfe6;border-radius:15px 15px 15px 5px;width:100%;min-width:0;padding:10px 12px 8px}.bundle-message.user .bundle-bubble{background:#eee7fb;border-color:#ddd0f8;border-radius:15px 15px 5px}.bundle-bubble textarea{resize:none;color:#403b46;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:0 0;border:0;width:100%;min-width:0;padding:0;font-size:11px;line-height:1.5;display:block;overflow:hidden auto}.bundle-bubble textarea.collapsed{overflow-y:hidden}.bundle-bubble textarea.expanded{resize:vertical;max-height:240px}.bundle-final-text{color:#403b46;white-space:pre-wrap;overflow-wrap:anywhere;min-height:48px;font-size:11px;line-height:1.55}.bundle-final-text.collapsed{max-height:68px;overflow:hidden}.bundle-final-text.expanded{max-height:240px;overflow:auto}.bundle-message-actions{gap:13px;display:flex}.bundle-bubble button{color:#6940bc;background:0 0;border:0;margin-top:7px;padding:0;font-size:9px;font-weight:850}@media (width<=1100px){.finding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finding-card:nth-child(n){transform:none}}@media (width<=900px){.hero-card{display:none}.hero{min-height:440px}.stat-grid{grid-template-columns:repeat(2,1fr)}.tools-card{grid-template-columns:1fr;gap:25px}.finding-grid{grid-template-columns:1fr}.share-section{flex-direction:column;align-items:flex-start}.research-cta{grid-template-columns:55px 1fr}.research-cta button{grid-column:2;justify-self:start}.donation-layout{grid-template-columns:1fr}}@media (width<=640px){.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:66px;padding-block:12px}.local-pill{margin-left:auto}.topbar nav{width:100%;margin:0}.topbar nav button{flex:1}.hero{padding-block:70px}.hero h1,.report-intro h1,.donation-hero h1{font-size:46px}.filters{grid-template-columns:1fr 1fr}.filter-stat{border-top:1px solid #e4e1e6;grid-column:1/-1;justify-content:center}.list-head{display:none}.session-row{grid-template-columns:1fr 50px 20px}.session-row>span:nth-of-type(3){display:none}.analyze-bar{flex-direction:column;align-items:stretch;gap:18px}.privacy-panel{grid-template-columns:1fr}.privacy-facts{flex-direction:column;gap:7px}.stat-grid{grid-template-columns:1fr}.stat-card{min-height:170px}.wrapped-card,.share-section,.research-cta{max-width:calc(100% - 40px)}.tool-row{grid-template-columns:30px 100px 1fr 30px}.research-cta{grid-template-columns:1fr}.research-cta button{grid-column:1}.report-intro:after{opacity:.5;font-size:90px;top:100px;right:4%}.mode-toggle{display:flex}.mode-toggle button{flex:1}.section-heading{align-items:flex-start}.demo-badge{margin-left:10px}.redaction-banner{flex-direction:column}.bundle-session label{grid-template-columns:1fr}footer{flex-direction:column;justify-content:center;gap:7px}.judge-option{grid-template-columns:28px 1fr}.judge-option em{grid-column:2}.findings-section{padding:64px 20px 75px}.finding-card{border-width:8px;min-height:565px}.finding-card h3{font-size:24px}.analysis-progress>div:first-child{flex-direction:column;gap:4px}.bundle-message{width:94%}.custom-redaction-heading,.final-preview-heading,.broad-redaction-options{flex-direction:column;align-items:stretch}.broad-redaction-options>div:last-child{justify-content:flex-start}.redaction-mode-toggle{align-self:flex-start}:is(.custom-redaction-fields,.custom-redaction-fields:has(.custom-flags)){grid-template-columns:1fr}.custom-redaction-fields button{width:100%}.automatic-redaction-row summary>span,.custom-rule-list summary>span{flex-direction:column;align-items:flex-start;gap:4px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orb,.button-spinner,.redaction-spinner,.analysis-progress-track i{animation:none}*{transition:none!important}}.shared-page{color:#fff;background:#09090b;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:34px 22px;display:flex}.story-progress{grid-auto-columns:1fr;grid-auto-flow:column;gap:7px;width:min(960px,100vw - 44px);margin-bottom:12px;display:grid}.story-progress button{background:#353438;border:0;border-radius:99px;height:4px;padding:0;overflow:hidden}.story-card{aspect-ratio:16/9;border-radius:32px;flex-direction:column;width:min(960px,100vw - 44px);min-height:480px;max-height:610px;padding:clamp(32px,4vw,54px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff17,0 28px 90px #0000006b}.story-card:after{content:"";border:95px solid #ffffff0d;border-radius:50%;width:520px;height:520px;position:absolute;top:-290px;right:-280px}.story-midnight{color:#f2eee8;background:linear-gradient(145deg,#1a1815,#11100f)}.story-midnight .story-progress{background:#ff6b38}.story-ice{color:#24211d;background:#e8f0f6}.story-ice .story-copy>div:first-child>span,.story-ice .story-tag{color:#376579}.story-ice .story-brand{color:#3d464b}.story-ice .story-brand i{background:#0000002e}.story-cost{color:#292720;background:#eef1e9}.story-cost .story-copy>div:first-child>span,.story-cost .story-tag{color:#53664a}.story-cost .story-brand{color:#36382f}.story-cost .story-brand i{background:#0000002e}.story-agents{color:#2a242d;background:#f1eaf4}.story-agents .story-copy>div:first-child>span,.story-agents .story-tag{color:#805b8c}.story-agents .story-brand i{background:#0000002e}.story-agents .story-data-row span i{background:#c5a9cf}.story-models{color:#28271f;background:#f0f1e9}.story-models .story-copy>div:first-child>span,.story-models .story-tag{color:#6d7156}.story-models .story-brand i{background:#0000002e}.story-models .story-data-row span i{background:#b8bc8c}.story-violet{color:#fff;background:linear-gradient(145deg,#8d5cff,#6030c5)}.story-violet .story-copy>div:first-child>span,.story-violet .story-tag{color:#dff58d}.story-turns{color:#2b1c18;background:linear-gradient(145deg,#ffe2c9,#efa681)}.story-turns .story-brand i{background:#0000002e}.story-turns .story-copy>div:first-child>span,.story-turns .story-tag{color:#8c4938}.story-turns .story-data-row span i{background:#b95f47}.story-social{color:#281b12;background:linear-gradient(145deg,#ffd85d,#ff9f5d)}.story-social:before{content:"!?";color:#5a270f14;letter-spacing:-.16em;font-size:clamp(150px,27vw,300px);font-weight:950;position:absolute;top:2%;right:7%}.story-social .story-brand i{background:#0000002e}.story-social .story-tag{color:#8a451e}.story-comparison-wrap{z-index:2;margin:auto 0;position:relative}.story-comparison{grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);display:grid}.story-comparison>div+div{border-left:2px solid #46230f29;padding-left:clamp(32px,6vw,80px)}.story-comparison span{letter-spacing:-.035em;max-width:330px;font-size:clamp(23px,2.8vw,34px);font-weight:800;line-height:1.08;display:block}.story-comparison p{align-items:baseline;gap:12px;margin:12px 0 0;display:flex}.story-comparison strong{letter-spacing:-.085em;font-size:clamp(90px,13vw,150px);line-height:.75}.story-comparison p b{font-size:clamp(20px,2.4vw,29px)}.story-comparison-wrap blockquote{color:#371f12ad;max-width:390px;margin:22px 0 0;font-family:Georgia,serif;font-size:clamp(13px,1.25vw,16px);font-style:italic;line-height:1.35}.story-comparison-wrap blockquote b{font-family:inherit;font-size:inherit;font-style:normal}.story-languages{color:#102733;background:linear-gradient(145deg,#d6f4ff,#7bd5f7)}.story-languages:before{content:"Aa\a 文";white-space:pre;color:#14536b17;font-family:Georgia,serif;font-size:clamp(95px,16vw,180px);font-weight:800;line-height:.8;position:absolute;top:5%;right:6%}.story-languages .story-brand i{background:#0000002e}.story-languages .story-copy>div:first-child>span,.story-languages .story-tag{color:#276b84}.story-languages .story-data-row span i{background:#2c91b7}.story-topics{color:#172515;background:linear-gradient(145deg,#e3ffd0,#a9ec7b)}.story-topics .story-brand i{background:#0000002e}.story-topics .story-copy>div:first-child>span,.story-topics .story-tag{color:#4d772f}.story-topics .story-data-row span i{background:#5c9b37}.story-stock{color:#2b1d19;background:linear-gradient(145deg,#fff0b8,#ffb8a8)}.story-stock .story-brand i{background:#0000002e}.story-stock .story-copy>div:first-child>span,.story-stock .story-tag{color:#8a4937}.story-stock .story-data-row span i{background:#c96149}.story-quote{color:#21101a;background:radial-gradient(circle at 12% 12%,#ffd5e8 0,#0000 34%),linear-gradient(145deg,#ff7dbe,#ff775f)}.story-quote:before{content:"“";color:#ffffff38;font-family:Georgia,serif;font-size:clamp(300px,42vw,500px);line-height:1;position:absolute;top:-25%;right:3%}.story-quote .story-brand i{background:#0000002e}.story-quote .story-copy>div:first-child>span,.story-quote .story-tag{color:#74264e}.story-quote .story-copy h1{letter-spacing:-.045em;max-width:860px;font-family:Georgia,serif;font-size:clamp(43px,5.6vw,72px);font-weight:600}.story-research{color:#fff;background:radial-gradient(circle at 80% 15%,#4d2787 0,#20133d 38%,#100d1c 78%)}.story-research:before{content:"✦";color:var(--lime);opacity:.92;font-size:clamp(110px,17vw,220px);line-height:1;position:absolute;top:11%;right:8%}.story-research .story-copy{max-width:780px;margin:30px 0 16px;padding:0}.story-research .story-copy>div:first-child>span{color:var(--lime);margin-bottom:18px}.story-research .story-copy h1{font-size:clamp(40px,4.6vw,62px)}.story-research .story-copy p{max-width:720px;margin-top:17px;font-size:clamp(15px,1.7vw,20px)}.story-research .story-cta{margin-top:auto}.story-leaderboard{color:#141515;background:linear-gradient(145deg,#d7ff58,#9ee843)}.story-leaderboard:before{content:"01\a 02\a 03";white-space:pre;color:#1415151a;letter-spacing:-.08em;font-size:clamp(72px,12vw,138px);font-weight:950;line-height:.7;position:absolute;top:9%;right:8%}.story-leaderboard .story-brand i{background:#0003}.story-leaderboard .story-copy{max-width:770px}.story-leaderboard .story-copy>div:first-child>span,.story-leaderboard .story-tag{color:#4d6519}.story-leaderboard .story-copy h1{font-size:clamp(45px,5.4vw,70px)}.story-leaderboard .story-cta{color:#fff;background:#12101f;box-shadow:0 12px 30px #12101f2e}.story-brand{z-index:2;align-items:center;gap:11px;font-size:16px;display:flex;position:relative}.story-copy{z-index:2;margin:auto 0;padding:28px 0;position:relative}.story-copy>div:first-child>span{color:#9f9990;margin-bottom:28px;font-size:clamp(16px,2.1vw,24px);font-weight:650;display:block}.story-copy h1{letter-spacing:-.055em;max-width:850px;margin:0;font-size:clamp(48px,6.1vw,78px);line-height:1.02}.story-copy h1.giant{letter-spacing:-.08em;font-size:clamp(100px,16vw,200px);line-height:.75}.story-copy p{opacity:.7;max-width:820px;margin:26px 0 0;font-size:clamp(17px,2.2vw,26px);line-height:1.35}.story-copy p.story-word-ratio{opacity:1;margin-top:14px;font-size:clamp(15px,1.75vw,21px);font-weight:650}.story-word-ratio strong{color:#dff58d;letter-spacing:-.04em;font-size:1.55em;font-weight:900;line-height:1}.story-copy.with-rows{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:clamp(38px,7vw,100px);width:100%;display:grid}.story-copy.with-rows h1{font-size:clamp(60px,7.5vw,105px)}.story-copy.with-rows p{font-size:clamp(15px,1.6vw,20px)}.story-side{gap:18px;min-width:0;display:grid}.story-example{border-radius:16px;margin:0;padding:18px}.story-example>span{letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:900;display:block}.story-example p{margin:0}.story-example code{border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;font-style:normal}.story-data-rows{flex-direction:column;gap:18px;display:flex}.story-data-row>div{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.story-data-row strong{font-size:clamp(16px,2vw,24px)}.story-data-row b{font-size:clamp(15px,1.8vw,22px)}.story-data-row>span{background:#1e19231a;border-radius:99px;height:10px;margin-top:9px;display:block;overflow:hidden}.story-data-row>span i{border-radius:inherit;background:#8d5cff;height:100%;display:block}.story-tag{color:#8e8880;z-index:2;font-size:15px;font-weight:750;position:relative}.story-cta{z-index:5;background:var(--lime);color:#12101f;border-radius:999px;align-self:flex-start;align-items:center;gap:30px;padding:14px 18px;font-size:13px;font-weight:900;text-decoration:none;display:flex;position:relative;box-shadow:0 12px 30px #c9f24b2e}.story-cta:hover{transform:translateY(-1px)}.story-cta-group{z-index:5;flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex;position:relative}.story-cta-group .story-cta{position:static}.story-cta-choice{flex-direction:column;flex:0 310px;align-items:stretch;gap:9px;display:flex}.story-cta-choice .story-cta{justify-content:space-between;width:100%}.story-cta-choice small{color:#52641f;max-width:300px;padding-inline:4px;font-size:10px;font-weight:650;line-height:1.4}.story-cta-group .story-cta.secondary{color:#fff;background:#ffffff1a;border:1px solid #ffffff40}.shared-page .story-cta-group .story-cta.secondary{color:#19151e;background:0 0;border-color:#19151e}.story-arrow{z-index:4;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000040;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:41px;height:41px;font-size:27px;display:grid;position:absolute;top:50%}.story-arrow.prev{left:12px}.story-arrow.next{right:12px}.story-arrow:disabled{opacity:.18;cursor:default}.story-actions{align-items:center;gap:8px;margin-top:16px;display:flex}.story-actions button{color:#fff;background:#2a292d;border:0;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:750}.story-foot{color:#6d6971;margin:15px 0 0;font-size:11px}.story-foot .shield{color:var(--lime);font-size:10px}.shared-page{--deck-teal:#397990;--deck-green:#4f7337;--deck-violet:#70478c;--deck-rust:#99513d;--deck-rose:#a34073;background:radial-gradient(circle at 50% 20%,#4b246b 0,#21162f 38%,#100c17 74%);padding-inline:78px}.story-progress{gap:8px}.story-progress button{background:#27212d;border:1px solid #ffffff21;height:6px}.story-progress button.seen{background:linear-gradient(90deg,#bdf5ff,#f0b9f0,#fff0a8,#b9f5d3)}.story-midnight{--deck-accent:#6e6251}.story-ice{--deck-accent:var(--deck-teal)}.story-cost{--deck-accent:var(--deck-green)}.story-agents{--deck-accent:var(--deck-violet)}.story-models,.story-turns{--deck-accent:var(--deck-rust)}.story-trust{--deck-accent:var(--deck-green)}.story-violet{--deck-accent:var(--deck-teal)}.story-social{--deck-accent:var(--deck-violet)}.story-languages{--deck-accent:var(--deck-teal)}.story-topics{--deck-accent:var(--deck-green)}.story-stock,.story-quote{--deck-accent:var(--deck-rose)}.story-research{--deck-accent:var(--deck-violet)}.story-leaderboard{--deck-accent:var(--deck-green)}.shared-page .story-card{color:#19151e;background:linear-gradient(145deg,#fffffffb,#f0ece3fb) padding-box padding-box,conic-gradient(from 140deg,#d7fbff,#a9edff,#f0b9f0,#fff0a8,#b9f5d3,#fdfdff,#d7fbff) border-box;border:10px solid #0000;border-radius:30px;min-height:500px;padding:36px 52px 30px;font-family:inherit;overflow:visible;box-shadow:0 34px 100px #0301097a,inset 0 0 0 1px #ffffffd6}.shared-page .story-card:before{content:"";color:#0000;background:radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--deck-accent,#673cc2) 13%, transparent), transparent 31%), linear-gradient(#19151e06 1px, transparent 1px), linear-gradient(90deg, #19151e06 1px, transparent 1px);opacity:1;pointer-events:none;background-size:auto,32px 32px,32px 32px;border:1.5px solid #19151e29;border-radius:19px;position:absolute;inset:17px}.shared-page .story-card:after{content:"";clip-path:inset(0 round 20px);pointer-events:none;background:linear-gradient(115deg,#0000 40%,#b1f2ff21 50%,#ffc2f01a 56%,#fff4a61a 62%,#0000 72%);border:0;border-radius:20px;width:auto;height:auto;position:absolute;inset:0;transform:none}.shared-page .story-brand{color:#38313d;text-transform:uppercase;letter-spacing:.055em;flex:none;font-size:14px;font-weight:850}.shared-page .story-copy{min-height:0;padding:18px 0 14px}.shared-page .story-copy h1{color:#19151e;font-size:clamp(46px,5.4vw,68px);line-height:.96}.shared-page .story-copy h1.giant{font-size:clamp(90px,12.2vw,136px);line-height:.76}.shared-page .story-copy p{color:#665f69;opacity:1;max-width:720px;margin-top:18px;font-size:clamp(17px,1.8vw,21px);line-height:1.4}.shared-page .story-copy p.story-word-ratio{border-top:2px solid color-mix(in srgb, var(--deck-accent,#673cc2) 30%, transparent);color:#49414d;max-width:660px;margin-top:12px;padding-top:12px;font-size:clamp(15px,1.55vw,18px)}.shared-page .story-word-ratio strong{color:var(--deck-accent,#673cc2);font-size:1.7em}.shared-page .story-copy.with-rows{grid-template-columns:minmax(0,.82fr) minmax(300px,1.18fr);gap:clamp(28px,4vw,46px)}.shared-page .story-copy.with-rows p{font-size:clamp(16px,1.5vw,19px)}.shared-page .story-data-rows{background:#ffffff94;border:2px solid #25202a;border-radius:18px;gap:13px;padding:18px;box-shadow:4px 4px #25202a}.shared-page .story-data-row>div{gap:14px}.shared-page .story-data-row strong,.shared-page .story-data-row b{color:#27212b;font-size:clamp(15px,1.6vw,20px)}.shared-page .story-data-row>span{background:#ded9dd;border:1px solid #8d858f;height:7px;margin-top:7px}.shared-page .story-data-row>span i,.shared-page .story-agents .story-data-row span i,.shared-page .story-models .story-data-row span i,.shared-page .story-languages .story-data-row span i,.shared-page .story-topics .story-data-row span i{background:var(--deck-accent,#673cc2)}.session-turn-chart{background:#ffffffc2;border:2px solid #25202a;border-radius:18px;width:100%;min-width:0;margin:0;padding:17px 18px 10px;box-shadow:4px 4px #25202a}.session-turn-chart figcaption{color:#625965;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:14px;font-size:11px;font-weight:850;display:flex}.session-turn-chart figcaption strong{color:#423943;white-space:nowrap;font-size:11px}.session-turn-chart figcaption b{color:var(--deck-accent);letter-spacing:-.02em;font-size:18px}.session-turn-chart svg{width:100%;display:block;overflow:visible}.turn-plot-bg{fill:#f8f2ee;stroke:#d7c9c3;stroke-width:1px}.turn-grid-line{stroke:#d8cbc5;stroke-width:1px;stroke-dasharray:2 5}.turn-median-line{stroke:#8f3f31;stroke-width:1.6px;stroke-dasharray:4 4;opacity:.82}.turn-median-label rect{fill:#8f3f31}.turn-median-label text{fill:#fff;letter-spacing:.08em;font-size:7px;font-weight:900}.turn-session-dot{fill:#bf7563;stroke:#fffaf4;stroke-width:1.25px;opacity:.88}.turn-session-dot.longest{fill:#3e3032;stroke-width:2px;opacity:1}.turn-axis,.turn-tick line{stroke:#746b75;stroke-width:1px}.turn-tick text{fill:#655d67;font-size:9px;font-weight:750}.shared-page .story-trust-card .story-copy.with-rows{grid-template-columns:minmax(220px,.72fr) minmax(380px,1.28fr);gap:clamp(26px,3.6vw,44px)}.shared-page .story-trust-card .story-copy h1{font-size:clamp(58px,6.7vw,82px)}.trust-curve-chart{background:#ffffffc2;border:2px solid #25202a;border-radius:18px;width:100%;min-width:0;margin:0;padding:17px 18px 8px;box-shadow:4px 4px #25202a}.trust-curve-chart figcaption{color:#625965;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:14px;font-size:11px;font-weight:850;display:flex}.trust-curve-chart figcaption strong{color:#423943;white-space:nowrap;font-size:11px}.trust-curve-chart figcaption b{color:var(--deck-accent);letter-spacing:-.02em;font-size:18px}.trust-curve-chart svg{width:100%;display:block;overflow:visible}.trust-curve-chart line{stroke:#d3ccc8;stroke-width:1px;stroke-dasharray:3 5}.trust-curve-chart polyline{fill:none;stroke:var(--deck-accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.trust-curve-chart circle{fill:#fff;stroke:var(--deck-accent);stroke-width:3px}.trust-curve-chart text{fill:#655d67;font-size:9px;font-weight:750}.trust-curve-chart .trust-axis-label{letter-spacing:.08em;font-size:9px;font-weight:850}.shared-page .story-workaround{--deck-accent:var(--deck-green)}.shared-page .story-workaround .story-headline-accent{color:var(--deck-accent)}.shared-page .story-workaround .story-copy>div:first-child>p{color:#5f5764;max-width:430px;font-weight:620}.shared-page .story-workaround .story-side{gap:20px}.shared-page .story-workaround .story-example{border:0;border-left:3px solid var(--deck-accent);box-shadow:none;background:0 0;border-radius:0;order:2;padding:3px 0 3px 18px;position:relative;transform:none}.shared-page .story-workaround .story-example>span{color:var(--deck-accent);margin-bottom:9px}.shared-page .story-workaround .story-example p{color:#34293a;font-size:clamp(17px,1.65vw,21px);font-style:italic;font-weight:720;line-height:1.3}.shared-page .story-workaround .story-example code{border:1px solid color-mix(in srgb, var(--deck-accent) 45%, white);color:#e5f3d9;box-shadow:2px 2px 0 color-mix(in srgb, var(--deck-accent) 65%, white);background:#252722}.shared-page .story-workaround .story-data-rows{order:1;padding:12px 16px;box-shadow:2px 2px #25202a}.shared-page .story-workaround .story-data-label{color:#5e5762;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:900;display:block}.shared-page .story-workaround .story-data-label+.story-data-row{padding-top:0}.shared-page .story-comparison{gap:clamp(28px,5vw,58px)}.shared-page .story-comparison>div+div{border-color:#19151e2b;padding-left:clamp(28px,5vw,58px)}.shared-page .story-comparison span{color:#19151e;font-size:clamp(21px,2.4vw,29px)}.shared-page .story-comparison strong{color:#19151e;font-size:clamp(78px,9.6vw,114px)}.shared-page .story-comparison p b{color:#19151e;font-size:clamp(19px,2.1vw,25px)}.shared-page .story-comparison-wrap blockquote{color:#69616b;font-family:inherit;font-size:clamp(14px,1.35vw,17px);font-style:normal}.shared-page .story-quote .story-copy h1{font-family:inherit;font-size:clamp(40px,4.9vw,60px);font-weight:760}.shared-page .story-research .story-copy{max-width:720px;margin:auto 0;padding:18px 0}.shared-page .story-research .story-copy h1,.shared-page .story-leaderboard .story-copy h1{font-size:clamp(42px,4.9vw,60px)}.shared-page .story-tag{text-transform:uppercase;letter-spacing:.08em;background:#ffffff85;border:1px solid #77707a;border-radius:999px;flex:none;align-self:flex-start;margin:3px 0 8px;padding:6px 9px;font-size:10px;line-height:1}.shared-page .story-cta,.shared-page .story-leaderboard .story-cta{color:#fff;box-shadow:4px 4px 0 var(--deck-accent,#673cc2);background:#19151e;border:1px solid #19151e;font-family:inherit;font-size:14px}.shared-page .story-arrow{color:#fff;width:42px;height:42px;box-shadow:4px 4px 0 var(--deck-accent,#673cc2);-webkit-backdrop-filter:none;backdrop-filter:none;background:#19151e;border:2px solid #f5f0f7;font-family:inherit;top:50%;transform:translateY(-50%)}.shared-page .story-actions button{background:#221a2b;border:1px solid #4d4555;font-family:inherit;font-size:13px}.shared-page .story-progress{align-items:center;height:14px;margin-bottom:9px}.shared-page .story-progress button.seen:before{background:linear-gradient(90deg,#bdf5ff,#f0b9f0,#fff0a8,#b9f5d3);border-color:#0000}.shared-page .story-progress button.active:before{transform:scaleY(1.45);box-shadow:0 0 0 2px #18121d,0 0 0 3px #dcf8aead}.shared-page .story-card{padding:36px 52px 34px}.shared-page .story-copy{width:100%;margin:auto 0;padding:16px 0}.shared-page .story-copy h1{text-wrap:balance;font-weight:740;line-height:.98}.shared-page .story-copy p{text-wrap:pretty;max-width:760px;margin-top:17px;line-height:1.38}.shared-page .story-hero-card .story-copy{max-width:820px}.shared-page .story-metric-card .story-copy{max-width:790px;padding-bottom:22px}.shared-page .story-metric-card .story-copy h1.giant{line-height:.8}.shared-page .story-copy p.story-word-ratio{border-top-width:1px;width:min(100%,760px);max-width:none;margin-top:14px;padding-top:14px}.shared-page .story-copy.with-rows>div:first-child{padding-top:0}.shared-page .story-side{gap:14px}.shared-page .story-data-rows{background:#ffffffa8;border-width:1.5px;border-radius:17px;gap:0;padding:15px 17px;box-shadow:3px 3px #25202af0}.shared-page .story-data-row:first-child{padding-top:0}.shared-page .story-data-row:last-child{padding-bottom:0}.shared-page .story-data-row>div{align-items:center;min-height:23px}.shared-page .story-data-row strong{align-items:baseline;gap:9px;min-width:0;display:flex}.shared-page .story-data-row strong em{color:var(--deck-accent,#673cc2);text-align:center;flex:0 0 18px;font-size:12px;font-style:normal;font-weight:900}.shared-page .story-data-row>span{border-width:1px;height:6px;margin-top:6px}.shared-page .story-data-row>span i{min-width:4px}.shared-page .story-cost .story-data-rows{padding-block:13px}.shared-page .story-stock .story-copy.with-rows{grid-template-columns:minmax(0,1.15fr) minmax(350px,1fr);gap:32px}.shared-page .story-stock .story-copy h1{font-size:clamp(44px,4.4vw,54px)}.shared-page .story-workaround .story-copy{padding-block:8px}.shared-page .story-workaround .story-example{border:0;border-left:3px solid var(--deck-accent);box-shadow:none;background:0 0;border-radius:0;padding:3px 0 3px 18px;transform:none}.shared-page .story-workaround .story-data-rows{padding:12px 16px;box-shadow:2px 2px #25202a}.shared-page .story-comparison-card .story-comparison-wrap{width:100%;margin:auto 0}.shared-page .story-comparison-kicker{margin-bottom:15px;display:block}.shared-page .story-comparison-card .story-comparison{grid-template-columns:1fr 1px 1fr;align-items:stretch;gap:0}.shared-page .story-comparison-card .story-comparison:before{content:"";background:#19151e2b;grid-area:1/2;width:1px;height:100%}.shared-page .story-comparison-card .story-comparison>div{--comparison-accent:var(--deck-accent);min-width:0;padding:6px 34px 4px 20px}.shared-page .story-comparison-card .story-comparison>div:first-of-type{grid-area:1/1}.shared-page .story-comparison-card .story-comparison>div+div{border:0;grid-area:1/3;padding:6px 20px 4px 40px}.shared-page .story-comparison-card .story-comparison span em{color:var(--comparison-accent);font-style:normal}.shared-page .story-comparison-card .story-comparison p{margin-top:8px}.shared-page .story-comparison-card .story-comparison strong{color:var(--comparison-accent);font-size:clamp(66px,8vw,92px);line-height:.78}.shared-page .story-comparison-card .story-comparison-wrap blockquote{border-top:2px solid color-mix(in srgb, var(--comparison-accent) 62%, transparent);color:#5b535f;max-width:none;margin:14px 0 0;padding:11px 0 0;font-size:clamp(12px,1.15vw,14px);line-height:1.35}.shared-page .story-quote .story-copy h1{letter-spacing:-.05em;text-wrap:balance;line-height:.98}.shared-page .story-cta-card .story-copy{flex:1;align-items:center;margin:0;padding:12px 0 8px;display:flex}.shared-page .story-cta-card .story-copy>div{width:100%}.shared-page .story-cta-card .story-cta-group{flex:none;margin-bottom:8px}.shared-page .story-cta-card .story-cta{min-height:47px;box-shadow:3px 3px 0 var(--deck-accent,#673cc2);justify-content:space-between;gap:18px;padding-inline:18px}.shared-page .story-research .story-cta-group .story-cta{flex:0 254px}.shared-page .story-cta-group .story-cta.secondary{box-shadow:2px 2px 0 color-mix(in srgb, var(--deck-accent,#673cc2) 70%, transparent)}.shared-page .story-card .story-tag{letter-spacing:.065em;background:#ffffff47;border-color:#47404b6b;margin:4px 0 7px;padding:5px 8px;font-size:11px;font-weight:800}.shared-page .story-arrow{box-shadow:2px 2px 0 var(--deck-accent,#673cc2)}.shared-page .story-actions{background:#140e1ab8;border:1px solid #443b4d;border-radius:999px;gap:0;margin-top:16px;padding:4px;box-shadow:0 10px 28px #0000002e}.shared-page .story-actions button{background:0 0;border:0;min-height:32px;padding:7px 14px;font-size:12px}.shared-loading,.shared-error{text-align:center;color:#aaa4b5;background:#09090b;place-content:center;min-height:100vh;display:grid}.shared-error h1{color:#fff;font-size:48px}.shared-error a{color:var(--lime)}.leaderboard-page{color:#f7f4ff;background:#0b0a10;min-height:100vh;padding:42px clamp(20px,7vw,110px) 110px}.leader-back{color:#aaa4b3;font-size:12px;font-weight:750;text-decoration:none}.leader-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;max-width:1440px;margin:auto;display:grid}.leader-metric{color:#18151e;border-radius:28px;min-width:0;padding:clamp(24px,3vw,40px)}.token-leader{background:#d8ff61}.ratio-leader{background:#e5d8ff}.leader-metric-head{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.leader-metric-head span{color:#5c6450;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:850}.leader-metric-head h2{letter-spacing:-.05em;margin:6px 0 0;font-size:clamp(24px,3vw,38px)}.leader-metric-head>strong{letter-spacing:-.07em;flex:none;font-size:clamp(48px,6vw,82px);line-height:.85}.percentile-callout{background:#ffffff7a;border-radius:12px;margin:32px 0 22px;padding:13px 15px;font-size:12px;font-weight:800}.distribution-chart{border-bottom:1px solid #14121938;grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:8px;height:190px;padding-top:15px;display:grid}.distribution-column{text-align:center;grid-template-rows:1fr auto 32px;align-items:end;min-width:0;height:100%;display:grid}.distribution-column>span{justify-content:center;align-self:stretch;align-items:end;display:flex}.distribution-column i{background:#16131c;border-radius:8px 8px 0 0;width:min(48px,72%);min-height:2px;display:block}.distribution-column b{margin-top:6px;font-size:10px}.distribution-column small{color:#68616e;white-space:nowrap;align-self:center;font-size:8px}.leader-top{margin-top:35px}.leader-top h3{text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;font-size:13px}.leader-top>div{border-top:1px solid #1412191f;justify-content:space-between;gap:12px;padding:11px 0;font-size:12px;display:flex}.leader-top>div span{gap:11px;display:flex}.leader-top>div b{color:#777080}.phrase-board-heading{justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px;display:flex}.phrase-board-heading h2{letter-spacing:-.06em;margin:14px 0 0;font-size:clamp(48px,6vw,82px);line-height:.9}.phrase-board-heading aside{background:var(--pink);color:#26141f;border-radius:20px;flex-direction:column;gap:9px;width:min(420px,45%);padding:24px;display:flex}.phrase-board-heading aside span{letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:900}.phrase-board-heading aside small{opacity:.64}.phrase-wall article{break-inside:avoid;color:#211c25;background:#f4f0e8;border-radius:20px;margin:0 0 13px;padding:22px}.phrase-wall article:nth-child(4n+2){background:#d8ff61}.phrase-wall article:nth-child(4n+3){background:#e5d8ff}.phrase-wall article:nth-child(4n+4){background:#ff9d88}.phrase-wall p{margin:0 0 18px;font-family:Georgia,serif;font-size:24px;line-height:1.05}.phrase-wall span{color:#6f6873;font-size:10px;font-weight:750}.empty-phrase-wall{color:#8e8796;text-align:center;border:1px dashed #48434e;border-radius:24px;padding:80px}.leader-join{background:#15131a;border:1px solid #312d38;border-radius:30px;max-width:1000px;margin:100px auto 0;padding:clamp(28px,5vw,62px)}.leader-join h2{letter-spacing:-.055em;margin:14px 0;font-size:clamp(36px,5vw,62px)}.leader-join>div:first-child p{color:#a29ca9;max-width:760px;font-size:12px;line-height:1.65}.leader-preview{grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0;display:grid}.leader-preview>span{background:#211e28;border-radius:14px;flex-direction:column;gap:7px;min-width:0;padding:15px;display:flex}.leader-preview small{color:#8c8595;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.leader-preview strong{overflow-wrap:anywhere;font-size:14px}.leader-field{color:#b5aebd;text-transform:uppercase;letter-spacing:.09em;flex-direction:column;gap:8px;margin:24px 0;font-size:10px;font-weight:800;display:flex}.leader-field input{color:#fff;text-transform:none;letter-spacing:0;background:#0e0d12;border:1px solid #39343f;border-radius:12px;padding:13px}.leader-check{color:#c4bdcb;align-items:flex-start;gap:11px;margin:11px 0;font-size:11px;line-height:1.5;display:flex}.leader-check.consent{background:#211e28;border-radius:13px;margin-top:24px;padding:15px}.leader-buttons{gap:11px;margin-top:24px;display:flex}.leader-remove{color:#a9a2af;background:0 0;border:1px solid #4a444f;border-radius:12px;padding:13px 16px;font-size:11px;font-weight:800}.leader-public-note{text-align:center;background:#15131a;border:1px solid #34303a;border-radius:22px;max-width:760px;margin:90px auto 0;padding:28px}.leader-public-note strong{color:var(--lime);font-size:18px}.leader-public-note p{color:#aaa3b1;font-size:12px;line-height:1.6}.leaderboard-page{--foil:conic-gradient(from 140deg, #d7fbff, #a9edff, #f0b9f0, #fff0a8, #b9f5d3, #fdfdff, #d7fbff);color:#f7f4ff;background:radial-gradient(circle at 50% 4%,#3f2059 0,#1c1328 18%,#0d0a12 46%,#09080d 100%);padding:34px clamp(24px,6vw,92px) 110px;font-family:inherit}.leaderboard-page:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0}.leaderboard-page>*{z-index:1;position:relative}.leader-back{color:#d2c9d7;letter-spacing:.01em;background:#130e198c;border:1px solid #4b4153;border-radius:999px;align-items:center;min-height:34px;padding:0 13px;font-size:12px;display:inline-flex}.leader-hero{max-width:1040px;padding:76px 0 70px}.leader-hero>span,.phrase-board-heading>div>span,.leader-join>div:first-child>span{color:#c9f24b;letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:900}.leader-hero p{color:#b9b0c0;max-width:680px;font-size:15px;line-height:1.65}.leader-grid{gap:22px;max-width:1280px}.leader-metric{--leader-accent:#6b7e2f;background:linear-gradient(145deg, #fffffffa, #efebe5fa) padding-box, var(--foil) border-box;color:#19151e;border:8px solid #0000;border-radius:30px;min-height:550px;padding:clamp(25px,3vw,36px);box-shadow:0 26px 70px #00000052}.ratio-leader{--leader-accent:#684694}.human-leader{--leader-accent:#a94763}.workaround-leader{--leader-accent:#397990}.leader-metric-head{align-items:center;gap:24px}.leader-metric-head span{color:var(--leader-accent);letter-spacing:.14em;font-size:10px}.leader-metric-head h2{max-width:330px;margin-top:7px;font-size:clamp(26px,2.8vw,37px);line-height:1.03}.leader-metric-head>strong{font-size:clamp(52px,5.7vw,74px);line-height:.86}.percentile-callout{border:1px solid color-mix(in srgb, var(--leader-accent) 28%, transparent);background:color-mix(in srgb, var(--leader-accent) 9%, white);color:#3e3743;border-radius:11px;margin:26px 0 18px;padding:12px 14px;font-size:12px}.distribution-chart{border-color:#cfc8d0;gap:7px;height:176px}.distribution-column i{background:var(--leader-accent)}.distribution-column b{font-size:10px}.distribution-column small{color:#706873;font-size:8px}.leader-top{margin-top:28px;padding-top:4px}.leader-top h3{letter-spacing:.14em;font-size:12px}.leader-top>div{border-color:#d7d1d8;font-size:13px}.leader-top p{color:#6d6571;font-size:12px}.phrase-board-section{max-width:1280px;margin:96px auto}.phrase-board-heading{margin-bottom:34px}.phrase-board-heading h2{max-width:760px;margin-top:12px;font-size:clamp(48px,5.6vw,74px);line-height:.92}.phrase-board-heading aside{background:linear-gradient(#f6f1e9, #eee8e1) padding-box, var(--foil) border-box;color:#251e29;border:5px solid #0000;border-radius:22px;width:min(390px,42%)}.phrase-board-heading aside span{font-size:10px}.phrase-board-heading aside strong{font-family:inherit;font-size:24px;line-height:1.12}.phrase-board-heading aside small{font-size:12px}.phrase-wall{columns:4 220px;column-gap:16px}.phrase-wall article{--phrase-accent:#76508c;color:#211c25;background:linear-gradient(145deg,#fff,#eeeae4);border:1px solid #d6ced8;border-radius:18px;margin-bottom:16px;padding:24px;position:relative;overflow:hidden;box-shadow:0 12px 28px #0000002e}.phrase-wall article:before{content:"";background:linear-gradient(90deg,#bdf5ff,#f0b9f0,#fff0a8,#b9f5d3);height:5px;position:absolute;inset:0 0 auto}.phrase-wall article:nth-child(4n+2),.phrase-wall article:nth-child(4n+3),.phrase-wall article:nth-child(4n+4){background:linear-gradient(145deg,#fff,#eeeae4)}.phrase-wall p{font-family:inherit;font-size:22px;line-height:1.12}.phrase-wall span{font-size:11px}.empty-phrase-wall{background:linear-gradient(#17131c, #17131c) padding-box, var(--foil) border-box;color:#aaa1b0;border:5px solid #0000;border-radius:24px;padding:72px;font-size:17px}.leader-join{background:linear-gradient(145deg, #18131dfa, #100d15fa) padding-box, var(--foil) border-box;border:6px solid #0000;border-radius:30px;max-width:1000px;margin-top:104px;padding:clamp(30px,5vw,56px);box-shadow:0 28px 80px #00000057}.leader-join h2{max-width:780px;margin:14px 0 16px;font-size:clamp(40px,4.5vw,58px);line-height:.98}.leader-join>div:first-child p{color:#b9b0c0;font-size:13px}.leader-preview{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:28px 0}.leader-preview>span{background:#211b28;border:1px solid #37313d;border-radius:12px;padding:14px 16px}.leader-preview small{font-size:10px}.leader-preview strong{font-size:15px}.leader-field{font-size:11px}.leader-field input{background:#0e0b12;border-color:#49404f;border-radius:10px}.leader-check{color:#d0c7d4;font-size:12px}.leader-buttons .primary{box-shadow:4px 4px #7253a0}.leader-remove{font-size:12px}.leader-public-note{background:linear-gradient(#17131c, #17131c) padding-box, var(--foil) border-box;border:5px solid #0000}.leader-public-note p{font-size:13px}@media (width>=820px) and (width<=1120px){.shared-page{padding-inline:62px}.shared-page .story-progress,.shared-page .story-card{width:min(960px,100vw - 124px)}.shared-page .story-card{padding-inline:46px;overflow:visible}.shared-page .story-arrow.prev{left:-52px}.shared-page .story-arrow.next{right:-52px}.shared-page .story-copy.with-rows{grid-template-columns:minmax(0,.82fr) minmax(250px,1.18fr);gap:24px}}@media (width>=701px) and (width<=819px){.shared-page{padding-inline:22px}.shared-page .story-progress,.shared-page .story-card{width:calc(100vw - 44px)}.shared-page .story-card{padding-inline:72px;overflow:hidden}.shared-page .story-arrow.prev{left:12px}.shared-page .story-arrow.next{right:12px}.shared-page .story-copy.with-rows{grid-template-columns:minmax(0,.8fr) minmax(240px,1.2fr);gap:20px}.shared-page .story-turn-card .story-copy.with-rows{grid-template-columns:minmax(180px,.65fr) minmax(280px,1.35fr);gap:18px}.shared-page .story-turn-card .story-copy h1{font-size:54px}.session-turn-chart{padding-inline:14px}.shared-page .story-data-rows{gap:11px;padding:14px}.shared-page .story-data-row strong,.shared-page .story-data-row b{font-size:15px}}@media (width<=700px){.shared-page{justify-content:flex-start;padding:20px 14px 28px}.shared-page .story-progress,.shared-page .story-card{width:100%}.story-card,.shared-page .story-card{aspect-ratio:auto;border-width:8px;border-radius:25px;min-height:660px;max-height:none;padding:28px 24px 24px;overflow:hidden}.shared-page .story-card:before{border-radius:16px;inset:12px}.story-brand{font-size:12px}.story-brand .brand-mark{width:27px;height:27px}.story-copy h1{font-size:clamp(43px,13vw,62px)}.story-copy h1.giant{font-size:clamp(92px,30vw,140px)}.story-copy p{font-size:18px}.story-actions{flex-wrap:wrap;justify-content:center}.story-foot{text-align:center}.shared-page .story-brand{font-size:12px}.shared-page .story-copy{padding:22px 18px 14px}.shared-page .story-copy h1{font-size:clamp(42px,12.5vw,60px)}.shared-page .story-copy h1.giant{font-size:clamp(80px,26vw,120px)}.shared-page .story-copy p{font-size:18px}.shared-page .story-copy>div:first-child>span{margin-bottom:16px;font-size:15px}.story-research .story-copy,.shared-page .story-research .story-copy{margin:auto 0}.story-research .story-copy h1,.shared-page .story-research .story-copy h1{font-size:36px}.story-research .story-copy p{font-size:17px}.story-quote .story-copy h1,.shared-page .story-quote .story-copy h1{font-size:clamp(36px,10.2vw,48px)}.story-comparison{grid-template-columns:1fr;gap:22px}.story-comparison>div+div{border-top:1px solid #46230f29;border-left:0;padding-top:20px;padding-left:0}.story-comparison span{font-size:23px}.story-comparison strong{font-size:84px}.story-comparison-wrap blockquote{margin-top:22px;font-size:15px}.shared-page .story-comparison-card .story-comparison{grid-template-rows:auto 1px auto;grid-template-columns:1fr;gap:14px}.shared-page .story-comparison-card .story-comparison:before{grid-area:2/1;width:100%;height:1px}.shared-page .story-comparison-card .story-comparison>div,.shared-page .story-comparison-card .story-comparison>div:first-of-type{grid-area:1/1;padding:0 18px}.shared-page .story-comparison-card .story-comparison>div+div{border:0;grid-area:3/1;padding:0 18px}.shared-page .story-comparison-card .story-comparison strong{font-size:66px}.shared-page .story-comparison-card .story-comparison-wrap blockquote{margin-top:12px}.shared-page .story-comparison-card .story-arrow{top:57%}.story-copy.with-rows,.shared-page .story-copy.with-rows{grid-template-columns:1fr;gap:22px}.story-copy.with-rows h1,.shared-page .story-copy.with-rows h1{font-size:clamp(46px,14.5vw,66px)}.shared-page .story-data-rows{gap:11px;padding:15px;box-shadow:3px 3px #25202a}.story-data-row strong,.story-data-row b,.shared-page .story-data-row strong,.shared-page .story-data-row b{font-size:15px}.shared-page .story-turn-card .story-copy.with-rows{grid-template-columns:1fr;gap:16px}.shared-page .story-turn-card .story-copy h1{font-size:clamp(48px,15vw,64px)}.shared-page .story-turn-card .story-copy p{margin-top:12px;font-size:16px}.session-turn-chart{padding:14px 10px 8px;box-shadow:3px 3px #25202a}.session-turn-chart figcaption{font-size:10px}.session-turn-chart figcaption b{font-size:16px}.turn-tick text{font-size:13px}.turn-median-label text{font-size:9px}.shared-page .story-trust-card .story-copy.with-rows{grid-template-columns:1fr;gap:16px}.shared-page .story-trust-card .story-copy h1{font-size:clamp(48px,15vw,64px)}.shared-page .story-trust-card .story-copy p{margin-top:12px;font-size:16px}.trust-curve-chart{padding:14px 10px 8px;box-shadow:3px 3px #25202a}.trust-curve-chart figcaption{font-size:10px}.trust-curve-chart figcaption b{font-size:16px}.shared-page .story-stock .story-copy.with-rows{grid-template-columns:1fr;gap:18px}.shared-page .story-stock .story-copy h1{font-size:clamp(44px,13vw,58px)}.shared-page .story-copy.with-rows>div:first-child{padding-top:0}.shared-page .story-stock .story-arrow.prev{left:0}.shared-page .story-stock .story-arrow.next{right:0}.shared-page .story-quote .story-arrow{top:72%}.shared-page .story-workaround .story-example{padding:3px 0 3px 16px;transform:none}.shared-page .story-workaround .story-example p{font-size:17px}.shared-page .story-arrow{width:36px;height:36px;box-shadow:3px 3px 0 var(--deck-accent,#673cc2);font-size:23px}.shared-page .story-arrow.prev{left:8px}.shared-page .story-arrow.next{right:8px}.shared-page .story-cta-card .story-arrow{top:68%}.story-leaderboard .story-copy h1,.shared-page .story-leaderboard .story-copy h1{font-size:clamp(36px,10.5vw,48px)}.shared-page .story-cta-card .story-copy{padding-inline:18px}.shared-page .story-research .story-cta-group .story-cta{flex:100%}.shared-page .story-cta-choice{flex-basis:100%}.leaderboard-page{padding:22px 16px 72px}.leader-grid{grid-template-columns:1fr}.leader-hero{padding:58px 0 54px}.leader-hero h1{margin-block:16px 20px;font-size:clamp(58px,18.5vw,84px)}.leader-metric{border-width:6px;min-height:500px;padding:23px}.leader-metric-head{flex-direction:column;align-items:flex-start;gap:16px}.leader-metric-head>strong{font-size:58px}.phrase-board-section{margin-block:68px}.phrase-board-heading{flex-direction:column;align-items:flex-start}.phrase-board-heading h2{font-size:clamp(44px,13.5vw,62px)}.phrase-board-heading aside{width:100%}.empty-phrase-wall{padding:56px 24px}.leader-join{border-width:5px;margin-top:68px;padding:25px}.leader-join h2{font-size:clamp(38px,11.5vw,50px)}.leader-preview{grid-template-columns:1fr}.leader-buttons{flex-direction:column;align-items:stretch}}.leaderboard-page{--leader-bg:#f7f4ed;--leader-text:#19151e;--leader-muted:#6f6873;background:radial-gradient(circle at 72% -12%, #e9ddf5 0, #f2ecf2 24%, var(--leader-bg) 58%);color:var(--leader-text);padding:26px clamp(18px,5vw,72px) 96px}.leaderboard-page:before{display:none}.leader-back{color:#655e69;background:0 0;border:0;border-radius:0;min-height:30px;padding:0}.leader-hero{max-width:1120px;margin:0 auto;padding:38px 0 34px}.leader-hero>span{color:#587120;letter-spacing:.15em;font-size:10px}.leader-hero h1{letter-spacing:-.055em;margin:10px 0 12px;font-size:clamp(42px,6vw,72px);line-height:.9}.leader-hero p{max-width:none;color:var(--leader-muted);margin:0;font-size:13px;line-height:1.45}.leader-figures{max-width:1120px;margin:0 auto}.leader-figure{--figure-accent:#627c25;border-top:1px solid #d6cfd8;padding:42px 0 46px}.leader-relationship-figure{--figure-accent:#754ba8}.leader-workaround-figure{--figure-accent:#26798b}.leader-phrase-figure{--figure-accent:#a34d72}.leader-session-figure{--figure-accent:#754ba8}.leader-phrase-figure{border-bottom:1px solid #d6cfd8}.leader-figure-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:22px;display:grid}.leader-figure-head span{color:var(--figure-accent);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:850}.leader-figure-head h2{letter-spacing:-.045em;text-wrap:balance;max-width:780px;margin:8px 0 0;font-size:clamp(28px,4vw,48px);line-height:1}.leader-result{text-align:right;justify-items:end;gap:5px;display:grid}.leader-result strong{color:var(--figure-accent);letter-spacing:-.055em;font-size:clamp(40px,5vw,62px);line-height:.85}.leader-result small{color:var(--leader-muted);font-size:11px;font-weight:750}.leader-result-pair{grid-template-columns:auto auto;align-items:baseline;column-gap:9px}.leader-result-pair small{justify-self:start}.leader-plot{width:100%;min-width:0;position:relative}.leader-plot svg{width:100%;display:block;overflow:visible}.leader-chart-frame{fill:#ffffff6b;stroke:#d4cdd6;stroke-width:1px}.leader-violin{fill:color-mix(in srgb, var(--figure-accent) 18%, transparent);stroke:color-mix(in srgb, var(--figure-accent) 58%, transparent);stroke-width:1.5px}.leader-dot{fill:color-mix(in srgb, var(--figure-accent) 78%, white);stroke:color-mix(in srgb, var(--figure-accent) 62%, white);stroke-width:1px;opacity:.78}.leader-interactive-point{cursor:default;outline:none}.leader-interactive-point:focus .leader-dot,.leader-interactive-point:focus .leader-you-dot{stroke:#19151e;stroke-width:2px;opacity:1}.leader-point-hit{fill:#0000;stroke:none;pointer-events:all}.leader-hover-tooltip{z-index:5;color:#34283e;text-align:center;white-space:normal;overflow-wrap:anywhere;pointer-events:none;background:#fffdf8;border:1px solid #aa98bc;border-radius:8px;width:max-content;max-width:min(300px,100% - 24px);padding:8px 11px;font-size:11px;font-weight:750;line-height:1.4;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 8px 22px #432f4f24}.leader-hover-tooltip strong,.leader-hover-tooltip span{display:block}.leader-hover-tooltip strong{color:#6d4a8b;margin-bottom:2px}.leader-median{stroke:#19151e;stroke-width:1px;stroke-dasharray:4 4;opacity:.48}.leader-you-ring{fill:color-mix(in srgb, var(--figure-accent) 14%, transparent);stroke:#19151e;stroke-width:2px}.leader-you-dot{fill:var(--figure-accent);stroke:#fff;stroke-width:2px}.leader-you-label{fill:#19151e;letter-spacing:.1em;font-size:10px;font-weight:900}.leader-interactive-point.is-opted-out .leader-you-ring{fill:#b8664f21;stroke:#a85f4c;stroke-dasharray:3 2}.leader-interactive-point.is-opted-out .leader-you-dot{fill:#b8664f}.leader-axis,.leader-tick,.leader-grid-line{stroke:#8a818e;stroke-width:1px}.leader-grid-line{stroke-dasharray:4 5;opacity:.6}.leader-tick-label{fill:#746c78;font-size:10px}.leader-axis-title{fill:#5f5864;font-size:11px;font-weight:650}.leader-edge-pill rect{fill:#f7f4ed;stroke:#bcb3c0;stroke-width:1px}.leader-edge-pill text{fill:#514956;letter-spacing:.025em;text-transform:uppercase;font-size:10px;font-weight:800}.leader-quadrant{stroke:none}.leader-quadrant-label{fill:#4e4852;font-size:11px;font-weight:750}.relationship-dot{fill:#8058b2}.workaround-dot{fill:#31899b}.leader-figure-note{max-width:720px;color:var(--leader-muted);margin:8px 0 0;font-size:11px;line-height:1.5}.leader-phrase-wall article{break-inside:avoid;background:#ffffff9e;border:1px solid #d6cfd8;border-radius:16px;margin:0 0 12px;padding:20px 20px 18px;position:relative;overflow:hidden;box-shadow:0 8px 22px #432f4f0e}.leader-phrase-wall article:before{content:"";background:var(--phrase-stripe,#d8cbe0);height:4px;position:absolute;inset:0 0 auto}.leader-phrase-wall article:nth-child(4n+2){--phrase-stripe:#bedb65;background:#eff7d5c7}.leader-phrase-wall article:nth-child(4n+3){--phrase-stripe:#d49aaf;background:#f9e5edc7}.leader-phrase-wall article:nth-child(4n+4){--phrase-stripe:#82c3ce;background:#e0f4f6c7}.leader-phrase-wall article.is-you{--phrase-stripe:#754ba8;background:#eee4fa;border-color:#8c69b7;box-shadow:0 0 0 2px #754ba81c,0 10px 28px #5334701f}.leader-phrase-wall article b{color:#754ba8;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-size:9px;font-weight:900;display:inline-block}.leader-phrase-wall blockquote{color:#241e28;letter-spacing:-.018em;margin:0 0 17px;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.2vw,27px);line-height:1.08}.leader-phrase-wall p{color:#756d79;margin:0;font-size:10px;font-weight:700}.leader-empty-wall{color:#746c78;text-align:center;background:#ffffff4d;border:1px dashed #bdb4c2;border-radius:18px;place-content:center;gap:7px;min-height:180px;padding:40px;display:grid}.leader-empty-wall strong{color:#3c3540;font-size:18px}.leader-empty-wall span{font-size:12px}.leader-session-legend{color:#655e69;justify-content:flex-end;gap:20px;margin:-6px 0 9px;font-size:10px;font-weight:750;display:flex}.leader-session-legend span{align-items:center;gap:7px;display:flex}.leader-session-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.leader-session-legend .contour{background:#cbb6df;border-radius:3px;box-shadow:inset 0 0 0 1px #9a73bd}.leader-session-legend .you{background:#754ba8;border-radius:1px;width:3px}.leader-session-violin{fill:#754ba84d;stroke:#754ba8;stroke-width:1.5px;vector-effect:non-scaling-stroke}.leader-session-you-median{stroke:#754ba8;stroke-width:2.5px}.leader-session-you-median.is-opted-out{stroke:#a85f4c;stroke-dasharray:3 2}.leader-join{color:#19151e;max-width:900px;box-shadow:none;background:#ffffffad;border-width:1px;border-color:#d4cdd6;border-radius:20px;margin-top:72px}.leader-join h2{margin-top:10px;font-size:clamp(34px,4vw,48px)}.leader-join>div:first-child p{color:#69616d}.leader-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.leader-preview>span{background:#f0ebf1;border-color:#ddd6df}.leader-preview small,.leader-field{color:#756d79}.leader-check{color:#4f4854}.leader-check.consent{background:#f0ebf1;border:1px solid #ddd6df}.leader-public-note{color:#19151e;background:#ffffffad;border-width:1px;border-color:#d4cdd6;margin-top:72px}.leader-public-note p{color:#69616d}.leader-public-note code{color:#4e2c8b}.leader-donation{color:#19151e;background:#ffffffad;border:1px solid #d4cdd6;border-radius:20px;justify-content:space-between;align-items:center;gap:30px;max-width:900px;margin:72px auto 0;padding:clamp(24px,4vw,38px);display:flex}.leader-donation h2{letter-spacing:-.045em;margin:9px 0 8px;font-size:clamp(26px,3vw,38px);line-height:1}.leader-donation p{color:#69616d;max-width:610px;margin:0;font-size:12px;line-height:1.55}.leader-donation .primary{white-space:nowrap;flex:none;text-decoration:none}.leader-opt-out{color:#19151e;background:#ffffff7a;border:1px solid #d4cdd6;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;max-width:900px;margin:14px auto 0;padding:18px 20px;display:flex}.leader-opt-out p{color:#5f5864;margin:0;font-size:13px}.leader-opt-out .error{margin-top:6px;display:block}.leader-opt-out .leader-remove,.leader-opt-out .primary{flex:none}@media (width<=700px){.leaderboard-page{padding:20px 14px 68px}.leader-hero{padding:28px 0 26px}.leader-hero h1{margin-block:9px 10px;font-size:clamp(40px,13vw,56px)}.leader-figure{padding:32px 0 36px}.leader-figure-head{grid-template-columns:1fr;align-items:start;gap:18px}.leader-figure-head h2{font-size:clamp(29px,9vw,39px)}.leader-result{text-align:left;justify-items:start}.leader-result-pair{grid-template-columns:auto auto}.leader-result strong{font-size:42px}.leader-result-pair strong{font-size:34px}.leader-quadrant-label{font-size:9px}.leader-axis-title{font-size:10px}.leader-edge-pill text{font-size:9px}.leader-phrase-wall{columns:2 150px;column-gap:10px}.leader-phrase-wall article{margin-bottom:10px;padding:17px}.leader-phrase-wall blockquote{font-size:21px}.leader-session-legend{flex-wrap:wrap;justify-content:flex-start;margin-top:0}.leader-join{border-width:1px;margin-top:54px;padding:24px}.leader-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-donation{flex-direction:column;align-items:stretch;padding:24px}.leader-donation .primary{text-align:center;white-space:normal}.leader-opt-out{flex-direction:column;align-items:stretch}}.donation-summary{background:#17131e;border:1px solid #332b3d;border-radius:18px;gap:10px;padding:20px;display:grid}.donation-summary strong{color:#f8f5ff;font-size:20px}.donation-message-row{position:relative}.bundle-session-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.bundle-session-toggle span{gap:3px;font-weight:850;display:grid}.bundle-session-toggle small{color:#81798a;font-weight:600}.bundle-session-toggle b{color:#6f43d6}.remove-message{color:#c7bfce;cursor:pointer;background:#1a1520;border:1px solid #493d55;border-radius:999px;padding:6px 10px;position:absolute;top:10px;right:10px}.landing-page{color:#19151e;text-align:center;background:radial-gradient(circle at 72% -12%,#e9ddf5 0,#f2ecf2 24%,#f7f4ed 58%);grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:20px;min-height:100vh;padding:24px 24px 28px;display:grid}.landing-page>div{width:min(860px,100%)}.landing-page h1{letter-spacing:-.075em;text-wrap:balance;margin:0 0 22px;font-size:clamp(58px,10vw,132px);line-height:.82}.landing-description{color:#89838d;text-wrap:balance;margin:0 auto clamp(28px,4vw,40px);font-size:clamp(16px,2vw,20px);line-height:1.45}.landing-command{background:#e8e3ea;border:0;border-radius:10px;align-items:stretch;width:min(100%,540px);min-height:46px;margin:0 auto;display:flex;overflow:hidden}.landing-command code{color:#302b35;text-align:left;white-space:nowrap;flex:1;align-items:center;gap:3px;min-width:0;padding:12px 18px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:400;line-height:1.5;display:flex}.landing-command code span{color:#817587}.landing-command button{color:#fff;background:#756a7e;border:0;border-radius:0;flex:none;padding:0 18px;font-size:14px;font-weight:500}.landing-command button:hover{background:#665c70}.landing-command button:focus-visible{outline-offset:-3px;outline:2px solid #f7f4ed}.landing-leaderboard-link{color:inherit;text-underline-offset:3px;font-weight:750;text-decoration-color:#755b8059;transition:color .15s,text-decoration-color .15s}.landing-leaderboard-link:hover{color:#4f3c5b;text-decoration-color:currentColor}.landing-more{color:#756f79;text-align:left;border-top:1px solid #756a7e2e;width:min(100%,540px);margin:18px auto 0;padding-top:14px}.landing-more summary{color:#756d7a;cursor:pointer;width:fit-content;margin:0 auto;padding:5px 2px;font-size:12px;font-weight:700;list-style:none}.landing-more summary::-webkit-details-marker{display:none}.landing-more summary:after{content:"+";color:#9a919e;text-align:center;width:14px;margin-left:7px;transition:transform .15s;display:inline-block}.landing-more[open] summary:after{transform:rotate(45deg)}.landing-more summary:hover{color:#4f4654}.landing-more summary:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid #756a7e}.landing-more>p{color:#5f5863;text-wrap:pretty;margin:14px 0 0;font-size:12px;font-weight:650;line-height:1.5}.landing-more ol{color:#777079;text-wrap:pretty;gap:8px;margin:12px 0 0;padding:0 0 0 24px;font-size:12px;line-height:1.5;display:grid}.landing-more li{padding-left:3px}.landing-more li a{color:#5f4b6b;text-underline-offset:2px;font-weight:750;text-decoration-color:#755b8059}.landing-more li a:hover{color:#4f3c5b;text-decoration-color:currentColor}.landing-credit{color:#8a838d;letter-spacing:.01em;margin:0;font-size:12px}.landing-credit a{color:inherit;text-underline-offset:3px;font-weight:750;text-decoration-color:#755b8059;transition:color .15s,text-decoration-color .15s}.landing-credit a:hover{color:#4f3c5b;text-decoration-color:currentColor}.susan-calvin-credit a{color:inherit;text-underline-offset:3px;font-weight:750;text-decoration-color:#755b8059;transition:color .15s,text-decoration-color .15s}.susan-calvin-credit a:hover{color:#4f3c5b;text-decoration-color:currentColor}@media (width<=420px){.landing-command code{padding-inline:12px;font-size:12px}.landing-command button{padding-inline:13px}.landing-more ol,.landing-credit{font-size:11px}}.donation-shell{--donation-bg:#f7f4ed;--donation-text:#19151e;--donation-muted:#6f6873;background:var(--donation-bg);color:var(--donation-text)}.donation-shell .topbar{background:#f7f4ede6;border-color:#d6cfd8}.donation-shell .brand{color:var(--donation-text)}.donation-shell .local-pill{color:#655e69;border-color:#d6cfd8}.donation-shell .topbar nav{background:#ffffff73;border:1px solid #d6cfd8}.donation-shell .topbar nav button{color:#756d79}.donation-shell .topbar nav button.active{color:#fff;background:#19151e}.donation-shell footer{background:var(--donation-bg);color:#756d79;border-color:#d6cfd8}.donation-footer-meta{align-items:center;gap:9px;display:flex}.donation-footer-meta>.susan-calvin-credit:before{content:"·";color:#b1a9b4;margin-right:9px}.donation-shell footer .susan-calvin-credit a{color:#5f4b6b}.donation-page{background:radial-gradient(circle at 72% -12%, #e9ddf5 0, #f2ecf2 24%, var(--donation-bg,#f7f4ed) 58%);min-height:calc(100vh - 76px);color:var(--donation-text,#19151e);padding:26px clamp(18px,5vw,72px) 96px}.donation-page .back-link{color:#655e69}.donation-hero{max-width:1120px;margin:0 auto;padding:38px 0 34px}.donation-hero h1{letter-spacing:-.055em;margin:10px 0 12px;font-size:clamp(42px,6vw,72px);line-height:.9}.donation-hero p{max-width:760px;color:var(--donation-muted,#6f6873);margin:0;font-size:13px;line-height:1.5}.local-review-notice{background:#e1efbf9e;border:1px solid #b5c78a;border-radius:15px;align-items:flex-start;gap:13px;max-width:760px;margin-bottom:30px;padding:17px 19px;display:flex}.local-review-notice .pulse{background:#82a42d;flex:none;margin-top:5px;box-shadow:0 0 0 6px #82a42d21}.local-review-notice div{gap:4px;display:grid}.local-review-notice p{color:#62723e;font-size:11px}.donation-mode-control{color:#514956;grid-template-columns:1fr;gap:7px;width:min(440px,100%);margin-top:24px;display:grid}.donation-mode-control>span{letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:900}.donation-mode-control select{appearance:none;color:#29232d;width:100%;min-height:46px;font:inherit;cursor:pointer;background-color:#ffffffc2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M2 2l6 6 6-6' fill='none' stroke='%2329232d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 20px center;background-repeat:no-repeat;background-size:14px 9px;border:1px solid #bcb3c0;border-radius:12px;padding:0 54px 0 14px;font-size:12px;font-weight:800}.donation-layout{grid-template-columns:minmax(280px,.72fr) minmax(480px,1.28fr);gap:20px;max-width:1120px;margin:0 auto}.donation-controls,.donation-preview{box-shadow:none;background:#ffffffad;border:1px solid #d4cdd6;border-radius:20px}.donation-controls{position:sticky;top:20px}.donation-step>span{background:#754ba8}.donation-step h2{color:#19151e}.donation-step p{color:var(--donation-muted,#6f6873)}.donation-sessions,.automatic-redactions,.broad-redaction-options,.custom-redaction-builder,.bundle-preview{background:#ffffff8c;border-color:#d6cfd8}.donation-sessions label,.automatic-redaction-row,.automatic-match-list,.custom-rule-list details+details,.bundle-session{border-color:#ddd6df}.donation-sessions label:hover{background:#e9ddf559}.donation-summary{background:#ffffff94;border-color:#d6cfd8}.donation-summary strong{color:#19151e}.donation-summary span{color:#6f6873}.donation-summary a{color:#627c25;font-weight:800}.redaction-banner{background:#e1efbf94;border:1px solid #cad6ae}.unredacted-warning{color:#713321;background:#fff0ea;border:1px solid #d8a08f;border-radius:12px;gap:5px;margin-top:20px;padding:14px;font-size:11px;line-height:1.45;display:grid}.unredacted-warning strong{font-size:13px}.automatic-redactions,.broad-redaction-options,.custom-redaction-builder{border-radius:14px}.redaction-list-heading{background:#e9ddf56b}.automatic-redaction-help{background:#ffffff80}.automatic-redaction-row.mixed>summary{background:#fff8da8c}.automatic-redaction-row summary>input,.automatic-match summary>input{accent-color:#754ba8}.automatic-redaction-row .automatic-match summary{justify-content:flex-start}.automatic-match summary>input{cursor:pointer;flex:none;width:14px;height:14px;margin:0}.automatic-match summary code{flex:1}:is(.automatic-match:has(input:not(:checked))>summary code,.automatic-match:has(input:not(:checked))>summary span){color:#9a939f;text-decoration:line-through;text-decoration-thickness:1px}.broad-redaction-options,.custom-redaction-builder{background:#f0ebf1a6}.broad-redaction-options button.active{color:#5d358a;background:#e9ddf5;border-color:#754ba8}.redaction-mode-toggle button.active,.custom-redaction-fields button{background:#19151e}.bundle-session-toggle b,.bundle-bubble button{color:#754ba8}.remove-message{color:#875068;background:#fffdf8;border-color:#c7bdca}.consent-step{border-color:#d6cfd8}.donation-preview .consent{color:#4f4854;background:#f0ebf1;border:1px solid #ddd6df}.donation-preview .consent.unredacted-consent{color:#713321;background:#fff0ea;border-color:#d8a08f}.donation-page .primary{box-shadow:none}.donation-page .export-button{color:#fff;background:#627c25}.donation-page .export-button.unredacted{background:#9d3f29}.donation-step>span{aspect-ratio:1;border-radius:50%;flex:0 0 30px;width:30px;min-width:30px;height:30px}.donation-step h2{margin-top:2px;font-size:20px;line-height:1.15}.donation-step p{font-size:12.5px;line-height:1.5}.donation-summary{border-radius:13px;gap:6px;margin-top:18px;padding:15px 16px}.donation-summary strong{font-size:16px;line-height:1.25}.donation-summary span{font-size:12px;line-height:1.35}.donation-summary a{margin-top:3px;font-size:11px;line-height:1.35}.donation-session-picker{background:#ffffff8c;border:1px solid #d6cfd8;border-radius:14px;margin:20px 0;overflow:hidden}.donation-session-select-all{background:#e9ddf575;border-bottom:1px solid #cbc3ce;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:11px 13px;display:flex}.donation-session-select-all label{cursor:pointer;align-items:center;gap:10px;display:flex}.donation-session-select-all input,.donation-sessions input{accent-color:#754ba8;flex:none;width:16px;height:16px;margin:0}.donation-session-select-all strong{font-size:11px}.donation-session-select-all>span{color:#716977;white-space:nowrap;font-size:9.5px;font-weight:700}.donation-session-picker .donation-sessions{border:0;border-radius:0;margin:0}.donation-sessions label{font-size:13px}.donation-sessions small{font-size:10.5px}.donation-sessions .donation-session-summary{color:#635b68;margin-top:3px;font-weight:600;line-height:1.35}.donation-session-summary b,.bundle-session-include small b{color:#857d89;letter-spacing:.08em;text-transform:uppercase;margin-right:7px;font-size:8px;font-weight:900}.redaction-list-heading,.automatic-redaction-row summary strong,.broad-redaction-options strong{font-size:12px}.automatic-redaction-help,.automatic-redaction-row summary code,.automatic-match summary code,.automatic-match summary span,.broad-redaction-options span{font-size:10px}.bundle-session{padding:0}.bundle-session-heading{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.bundle-session-include{cursor:pointer;align-items:center;gap:11px;min-width:0;display:flex}.bundle-session-include input{accent-color:#754ba8;flex:none;width:16px;height:16px;margin:0}.bundle-session-include>span{gap:4px;min-width:0;display:grid}.bundle-session-include strong{font-size:12px}.bundle-session-include small{color:#716977;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:500;line-height:1.3;overflow:hidden}.bundle-session-count{color:#81798a;white-space:nowrap;font-size:10px}.bundle-session-heading>button{color:#754ba8;white-space:nowrap;background:#fffdf8;border:1px solid #c9c0cc;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.bundle-session.excluded{background:#f0ebf18c}.bundle-session.excluded .bundle-session-include strong,.bundle-session.excluded .bundle-session-include small{color:#928a96}.bundle-session-heading>button:disabled{color:#9b949f;cursor:default;background:0 0;border-color:#0000}.bundle-chat{border-top:1px solid #e1dbe3;padding:16px}.donation-message-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;padding-right:0;display:grid}.donation-message-row.assistant .bundle-message{justify-self:start}.donation-message-row.user .bundle-message{justify-self:end}.donation-message-row .remove-message{grid-area:1/2;align-self:start;margin-top:20px;position:static}.bundle-final-text,.bundle-bubble textarea{font-size:12px}.workaround-evidence-page,.interaction-evidence-page{width:min(900px,100% - 40px);margin:0 auto;padding:34px 0 90px}.workaround-back-link{color:#6d4c7d;font-size:12px;font-weight:800;text-decoration:none;display:inline-block}.workaround-page-title{margin:42px 0 20px}.workaround-page-title h1{color:#201b23;letter-spacing:-.045em;margin:0;font-size:clamp(32px,5vw,48px);line-height:1}.workaround-page-title p{color:#746d78;margin:9px 0 0;font-size:12px;line-height:1.5}.workaround-evidence-list{gap:22px;display:grid}.workaround-evidence-card{background:#ffffffc7;border:1px solid #d4cdd6;border-radius:16px;overflow:hidden;box-shadow:0 15px 42px #3727420f}.workaround-session-meta{border-bottom:1px solid #ded8e0;justify-content:space-between;align-items:baseline;gap:18px;padding:18px 20px;display:flex}.workaround-session-meta strong{color:#27212b;font-size:15px}.workaround-session-meta time{color:#746d78;font-size:11px}.workaround-evidence-section{border-bottom:1px solid #e4dfe6;padding:20px}.workaround-evidence-section:last-child{border-bottom:0}.workaround-evidence-section h2{color:#7b727e;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:9px;font-weight:900}.workaround-opening-toggle{color:#363039;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.workaround-opening-toggle:disabled{cursor:default}.workaround-opening-toggle:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #8c62a2}.workaround-opening-toggle>span{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.55;display:block}.workaround-opening-toggle>small{color:#754ba8;margin-top:10px;font-size:10px;font-weight:850;display:inline-block}.workaround-opening-toggle:not(:disabled):hover>small{text-decoration:underline}.workaround-turn-gap{color:#817985;text-align:center;background:#faf8f480;border-bottom:1px solid #e4dfe6;align-content:center;place-items:center;gap:2px;min-height:68px;padding:13px 20px;display:grid}.workaround-turn-gap b{letter-spacing:.12em;height:16px;font:900 20px/8px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.workaround-turn-gap span{letter-spacing:.06em;font-size:9px;font-weight:800}.workaround-sequence-section{background:#f7f4ed6b}.workaround-sequence{counter-reset:none;gap:10px;margin:0;padding:0;list-style:none;display:grid}.workaround-sequence li{background:#fffdf9;border:1px solid #d8d1da;border-radius:12px;min-width:0;padding:15px 16px}.workaround-sequence li.blocked{background:#fff1ec;border-color:#deb6a9}.workaround-sequence li.workaround{background:#f6eff9;border-color:#c9b6d2}.workaround-sequence li>strong{color:#2c2630;font-size:14px;display:inline-block}.workaround-sequence pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#1f1a220e;border-radius:8px;max-height:320px;margin:0;overflow:auto}.workaround-sequence strong+pre{margin-top:10px}.workaround-sequence code{color:#332d36;padding:12px 13px;font:11.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:block}.workaround-sequence p{color:#756e78;margin:0;font-size:12px}.workaround-evidence-empty{text-align:center;background:#ffffffad;border:1px solid #d4cdd6;border-radius:16px;padding:40px}.workaround-evidence-empty h2{margin:0 0 8px}.workaround-evidence-empty p{color:#746d78;margin:0}.interaction-evidence-page{width:min(980px,100% - 40px)}.interaction-evidence-tabs{background:#ffffff8c;border:1px solid #d4cdd6;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:30px;padding:6px;display:grid;box-shadow:0 15px 42px #3727420a}.interaction-evidence-tabs button{color:#625b67;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;padding:12px 13px;display:flex}.interaction-evidence-tabs button span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.interaction-evidence-tabs button strong{color:#776f7b;text-align:center;background:#5e516414;border-radius:999px;min-width:25px;padding:3px 7px;font-size:9px}.interaction-evidence-tabs button:hover{background:#ffffffb8}.interaction-evidence-tabs button:focus-visible{outline-offset:2px;outline:2px solid #754ba8}.interaction-evidence-tabs button.active{color:#352d39;background:#fff;box-shadow:0 7px 20px #3727421a}.interaction-evidence-tabs button.is-yell.active strong{color:#8b405e;background:#f8e7ed}.interaction-evidence-tabs button.is-thanks.active strong{color:#4f7133;background:#edf5e6}.interaction-evidence-tabs button.is-user-apology.active strong{color:#694fa5;background:#eee9f8}.interaction-evidence-tabs button.is-agent-apology.active strong{color:#32647b;background:#e5f1f6}.interaction-evidence-section{margin-top:28px}.interaction-evidence-section>header{grid-template-columns:minmax(250px,.7fr) minmax(280px,1fr);align-items:end;gap:30px;margin-bottom:14px;padding:0 3px;display:grid}.interaction-evidence-section>header div{gap:5px;display:grid}.interaction-evidence-section>header span{color:#8b6172;letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:900}.interaction-evidence-section.is-thanks>header span{color:#55703c}.interaction-evidence-section.is-user-apology>header span{color:#735ca8}.interaction-evidence-section.is-agent-apology>header span{color:#3f6c82}.interaction-evidence-section>header h2{color:#27212b;letter-spacing:-.025em;margin:0;font-size:24px}.interaction-evidence-section>header p{color:#746d78;margin:0;font-size:11px;line-height:1.5}.interaction-evidence-list{gap:16px;display:grid}.interaction-evidence-card{background:#ffffffc7;border:1px solid #d4cdd6;border-radius:16px;overflow:hidden;box-shadow:0 15px 42px #3727420d}.interaction-transcript{background:#f7f4ed6b;gap:10px;padding:18px 20px 22px;display:grid}.interaction-message{background:#fffdf9;border:1px solid #ded8e0;border-radius:12px;width:min(84%,720px);padding:12px 14px}.interaction-message.assistant{border-bottom-left-radius:4px;justify-self:start}.interaction-message.user{border-bottom-right-radius:4px;justify-self:end}.interaction-message.context{opacity:.63}.interaction-message.highlighted{background:#fff0f4;border-color:#d6a5b7;box-shadow:0 7px 20px #6c3b4e14}.is-thanks .interaction-message.highlighted{background:#f1f8e9;border-color:#b7cf9d;box-shadow:0 7px 20px #445b2b12}.is-user-apology .interaction-message.highlighted{background:#f4efff;border-color:#c5b5e5;box-shadow:0 7px 20px #4d377112}.is-agent-apology .interaction-message.highlighted{background:#edf8fc;border-color:#a9cad8;box-shadow:0 7px 20px #30586912}.interaction-message>span{color:#857d89;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:900;display:block}.interaction-message.highlighted>span{color:#88566a}.is-thanks .interaction-message.highlighted>span{color:#58713e}.is-user-apology .interaction-message.highlighted>span{color:#6f57a0}.is-agent-apology .interaction-message.highlighted>span{color:#3d687b}.interaction-message p{color:#332d36;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.interaction-message>button{color:#765782;cursor:pointer;background:0 0;border:0;margin-top:9px;padding:0;font-size:9px;font-weight:850}.interaction-message>button:hover{text-decoration:underline}.interaction-evidence-empty{color:#746d78;text-align:center;background:#ffffff73;border:1px dashed #cfc6d1;border-radius:14px;padding:28px;font-size:12px}@media (width<=760px){.workaround-evidence-page,.interaction-evidence-page{width:min(100% - 24px,900px);padding-top:22px}.workaround-page-title{margin-top:32px}.workaround-session-meta{flex-direction:column;align-items:flex-start;gap:5px}.workaround-evidence-section{padding:16px}.workaround-sequence li{padding:13px}.interaction-evidence-section>header{grid-template-columns:1fr;gap:8px}.interaction-evidence-tabs{scrollbar-color:#bdb4c3 transparent;scrollbar-width:thin;padding-bottom:7px;display:flex;overflow-x:auto}.interaction-evidence-tabs::-webkit-scrollbar{height:4px}.interaction-evidence-tabs::-webkit-scrollbar-thumb{background:#bdb4c3;border-radius:999px}.interaction-evidence-tabs button{flex:none;min-width:140px}.interaction-transcript{padding:14px}.interaction-message{width:92%}}.donation-success-page{place-items:center;padding-block:clamp(42px,9vh,96px);display:grid}.donation-success{text-align:center;background:#ffffffb8;border:1px solid #d4cbd7;border-radius:28px;width:min(680px,100%);padding:clamp(32px,5vw,58px);box-shadow:0 28px 80px #3727421a}.donation-success-mark{color:#526c19;background:#dff0b7;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 20px;font-size:25px;font-weight:900;display:grid}.donation-success .eyebrow{color:#587120}.donation-success h1{letter-spacing:-.06em;text-wrap:balance;max-width:560px;margin:12px auto 18px;font-size:clamp(42px,6vw,70px);line-height:.92}.donation-success>p{max-width:540px;color:var(--donation-muted,#6f6873);margin:0 auto;font-size:14px;line-height:1.6}.donation-reference{text-align:left;background:#f7f4edcc;border:1px solid #d8d0da;border-radius:13px;gap:6px;max-width:480px;margin:26px auto 0;padding:14px 16px;display:grid}.donation-reference span{color:#877f8a;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.donation-reference code{color:#514956;overflow-wrap:anywhere;font-size:11px;line-height:1.4}.donation-success .donation-deletion-status{color:#587120;margin-top:20px;font-weight:750}.donation-success-actions{flex-wrap:wrap;justify-content:center;gap:11px;margin-top:28px;display:flex}.donation-success-actions button{min-height:44px;margin:0}.donation-success-actions .primary{padding-inline:22px}.donation-success-actions .leader-remove{color:#6f6873;border-color:#bdb4c0}.shared-page{--deck-violet:#6e527f;--deck-gold:#8a7027;--deck-plum:#76536f;color:#19151e;background:radial-gradient(circle at 14% 12%,#ffefac7a,#0000 31%),radial-gradient(circle at 86% 10%,#dccdf1b8,#0000 34%),linear-gradient(135deg,#f8f5ed 0%,#f5f0eb 46%,#f0eaf3 100%);min-height:100vh;padding-inline:78px}.shared-page:before{content:"";pointer-events:none;opacity:.44;background:radial-gradient(circle at 27% 18%,#fffc 0 1px,#0000 1.8px) 0 0/47px 47px,radial-gradient(circle at 72% 82%,#77528e2e 0 1px,#0000 1.8px) 0 0/61px 61px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 76%);mask-image:linear-gradient(#000,#0000 76%)}.shared-page .story-progress,.shared-page .story-card{width:min(960px,100vw - 156px)}.shared-page .story-progress{align-items:center;gap:7px;height:13px;margin-bottom:13px}.shared-page .story-progress button{background:0 0;border:0;height:13px;position:relative;overflow:visible}.shared-page .story-progress button:before{content:"";background:#40334424;border:0;border-radius:999px;transition:transform .18s,background .18s;position:absolute;inset:5px 0}.shared-page .story-progress button.active:before{box-shadow:none;transform:scaleY(2)}.shared-page .story-progress button:focus-visible{outline:0}.shared-page .story-progress button:focus-visible:before{box-shadow:0 0 0 3px #6e527f3d}.story-midnight,.story-ice,.story-violet,.story-languages{--deck-accent:#536c7a;--wash-a:#ffefb1a6;--wash-b:#ccdcf0a3}.story-cost,.story-topics,.story-leaderboard{--deck-accent:var(--deck-gold);--wash-a:#ffea97c7;--wash-b:#e0d2ee99}.story-agents,.story-research{--deck-accent:#745488;--wash-a:#fff1b294;--wash-b:#d2bcecbd}.story-models,.story-turns{--deck-accent:#855d53;--wash-a:#ffe09dad;--wash-b:#e2c3e1ad}.story-social,.story-stock,.story-quote{--deck-accent:var(--deck-plum);--wash-a:#ffe49e9e;--wash-b:#e8c0ddab}.shared-page .story-card{isolation:isolate;background:radial-gradient(circle at 8% 4%, var(--wash-a), transparent 44%), radial-gradient(circle at 92% 7%, var(--wash-b), transparent 45%), linear-gradient(135deg, #fffffff0, #f7f1efe0 54%, #f4eef7e6);color:#19151e;border:1px solid #ffffffeb;border-radius:28px;min-height:500px;padding:38px 54px 35px;font-family:inherit;overflow:visible;box-shadow:0 34px 90px #533e5824,0 7px 24px #533e5814,inset 0 1px #fffffffa}.shared-page .story-card:before{content:"";z-index:-1;border-radius:inherit;opacity:.78;pointer-events:none;background:radial-gradient(circle at 78% 20%,#ffffffc2 0 2%,#0000 25%),linear-gradient(112deg,#0000 23%,#ffffff0a 38%,#ffffff9e 47%,#f2ddff2e 54%,#0000 67%) 0 0/170% 170%;border:0;position:absolute;inset:0}.shared-page .story-card:after{content:"";z-index:-1;clip-path:none;pointer-events:none;background:0 0;border:1px solid #3c2f4117;border-radius:21px;width:auto;height:auto;position:absolute;inset:8px}.shared-page .story-card>:not(.story-sparkles){z-index:2;position:relative}.shared-page .story-brand{color:#19151e;text-transform:none;flex:none;align-items:flex-start;min-height:40px}.shared-page .story-brand strong{letter-spacing:-.06em;font-size:18px;font-weight:820;line-height:.76;display:grid}.story-sparkles{z-index:1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.story-sparkles i{opacity:.44;width:11px;height:11px;position:absolute;transform:rotate(45deg)}.story-sparkles i:before,.story-sparkles i:after{content:"";background:#fffffff5;border-radius:999px;position:absolute}.story-sparkles i:before{width:11px;height:1.5px;top:4.5px;left:0}.story-sparkles i:after{width:1.5px;height:11px;top:0;left:4.5px}.story-sparkles i:nth-child(2){opacity:.7;width:6px;height:6px;top:22%;right:18%}.story-sparkles i:nth-child(2):before{width:6px;top:2.25px}.story-sparkles i:nth-child(2):after{height:6px;left:2.25px}.story-sparkles i:nth-child(3){opacity:.26;width:8px;height:8px;bottom:15%;right:7%}.story-sparkles i:nth-child(3):before{width:8px;top:3.25px}.story-sparkles i:nth-child(3):after{height:8px;left:3.25px}.shared-page .story-copy{width:100%;min-height:0;margin:auto 0;padding:16px 0}.shared-page .story-copy>div:first-child>span,.shared-page .story-comparison-kicker,.shared-page .story-card .story-tag{color:var(--deck-accent);letter-spacing:-.01em;font-size:clamp(14px,1.45vw,18px);font-style:normal;font-weight:680;line-height:1.2}.shared-page .story-copy>div:first-child>span{margin-bottom:18px}.shared-page .story-copy h1{color:#19151e;letter-spacing:-.062em;text-wrap:balance;font-weight:780;line-height:.96}.shared-page .story-copy h1.giant{line-height:.78}.shared-page .story-copy p{color:#2c2230a3;text-wrap:pretty;max-width:740px;margin-top:17px;line-height:1.42}.shared-page .story-copy p.story-word-ratio{border-color:#49344e26}.shared-page .story-data-rows,.session-turn-chart{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#ffffff94,#ffffff4a);border:1px solid #41304626;border-radius:18px;box-shadow:inset 0 1px #ffffffc7,0 12px 32px #45314b0f}.shared-page .story-data-rows{padding:16px 18px}.shared-page .story-data-row+.story-data-row{border-color:#32253717}.shared-page .story-data-row strong,.shared-page .story-data-row b{color:#2b222e;font-weight:690}.shared-page .story-data-row strong em{color:var(--deck-accent)}.shared-page .story-data-row>span{background:#382a3c1a;border:0}.shared-page .story-workaround .story-data-rows{box-shadow:inset 0 1px #ffffffc7,0 12px 32px #45314b0f}.shared-page .story-workaround .story-example{border-color:color-mix(in srgb, var(--deck-accent) 58%, transparent)}.shared-page .story-workaround .story-example code{box-shadow:none;background:#231c26db;border:0}.session-turn-chart{box-shadow:inset 0 1px #ffffffc7,0 12px 32px #45314b0f}.turn-plot-bg{fill:#ffffff57;stroke:#45344a1f}.shared-page .story-comparison-card .story-comparison:before{background:#36283b1f}.shared-page .story-comparison-card .story-comparison-wrap blockquote{color:#362a3a9e;border-top-width:1px}.shared-page .story-card .story-tag{letter-spacing:.09em;text-transform:uppercase;background:0 0;border:0;margin:4px 0 7px;padding:0;font-size:10px;font-weight:700}.shared-page .story-cta,.shared-page .story-leaderboard .story-cta{color:#fff;background:#211a24;border:1px solid #1e1721e0;font-weight:690;box-shadow:0 9px 22px #291d2d1f}.shared-page .story-cta-group .story-cta.secondary{color:#241b27;box-shadow:none;background:#ffffff59;border-color:#2f233345}.shared-page .story-cta-card .story-cta,.shared-page .story-cta-group .story-cta.secondary{box-shadow:0 9px 22px #291d2d1a}.shared-page .story-arrow{color:#332638;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffa8;border:1px solid #3e2e4329;width:42px;height:42px;font-family:inherit;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 28px #432f481f,inset 0 1px #ffffffe0}.shared-page .story-card>.story-arrow{z-index:4;position:absolute}.shared-page .story-arrow:disabled{opacity:.2}.shared-page .story-actions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff75;border:1px solid #48374d1f;border-radius:999px;gap:4px;margin-top:16px;padding:4px;box-shadow:0 10px 30px #4b375012}.shared-page .story-actions button{color:#493d4d;background:0 0;border:0;min-height:32px;padding:7px 14px;font-size:12px}.shared-page .story-actions button+button{border-left:1px solid #48374d1f;border-radius:0 999px 999px 0}.shared-page .story-foot{color:#817785;margin-top:10px;font-size:11px}.shared-page .story-foot .shield{color:#8a7027}@media (width>=820px) and (width<=1120px){.shared-page{padding-inline:62px}.shared-page .story-progress,.shared-page .story-card{width:min(960px,100vw - 124px)}.shared-page .story-arrow.prev{left:-50px}.shared-page .story-arrow.next{right:-50px}}@media (width>=701px) and (width<=819px){.shared-page{padding-inline:22px}.shared-page .story-progress,.shared-page .story-card{width:calc(100vw - 44px)}.shared-page .story-card{padding-inline:72px;overflow:hidden}.shared-page .story-arrow.prev{left:12px}.shared-page .story-arrow.next{right:12px}}@media (width<=700px){.shared-page{padding:18px 14px 28px}.shared-page .story-progress,.shared-page .story-card{width:100%}.shared-page .story-card{aspect-ratio:auto;border-width:1px;border-radius:25px;min-height:660px;max-height:none;padding:29px 25px 24px;overflow:hidden}.shared-page .story-card:after{border-radius:18px;inset:7px}.shared-page .story-brand{min-height:35px}.shared-page .story-brand strong{font-size:16px}.shared-page .story-copy{padding-inline:18px}.shared-page .story-data-rows,.session-turn-chart{box-shadow:inset 0 1px #ffffffc7,0 10px 26px #45314b0f}.shared-page .story-arrow{border-width:1px;box-shadow:0 8px 22px #432f481f}.shared-page .story-arrow.prev{left:8px}.shared-page .story-arrow.next{right:8px}}@media (width<=900px){.donation-layout{grid-template-columns:1fr}.donation-controls{position:static}}@media (width<=640px){.donation-page{min-height:calc(100vh - 66px);padding:20px 14px 68px}.donation-hero{padding:28px 0 26px}.donation-hero h1{margin-block:9px 10px;font-size:clamp(40px,13vw,56px)}.donation-controls,.donation-preview{padding:20px}.automatic-redaction-row summary{gap:9px;padding-inline:11px}.automatic-redaction-row .automatic-match summary{flex-direction:row;align-items:center}.automatic-match summary code{white-space:normal;overflow-wrap:anywhere}.bundle-session-heading{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:13px 12px}.bundle-session-count{display:none}.bundle-session-heading>button{padding-inline:8px}.bundle-chat{padding:13px 10px}.donation-message-row{gap:6px}.donation-message-row .remove-message{padding-inline:8px}.donation-success-page{padding-block:28px}.donation-success{border-radius:22px;padding:30px 20px}.donation-success-actions{flex-direction:column;align-items:stretch}.donation-success-actions button{width:100%}}.shared-page{background:radial-gradient(at 5% 0,#fff0ae7a,#0000 38%),radial-gradient(at 96% 4%,#d8c6ee99,#0000 42%),linear-gradient(132deg,#f8f6ef 0%,#f5f1ed 48%,#f2edf4 100%)}.shared-page:before{opacity:.3;background:radial-gradient(circle at 19% 21%,#fffc 0 .7px,#0000 1.5px) 0 0/73px 73px,radial-gradient(circle at 76% 62%,#67497621 0 .7px,#0000 1.5px) 0 0/89px 89px}.shared-page .story-progress{gap:10px;width:min(900px,100vw - 156px);margin-bottom:18px}.shared-page .story-progress button:before{background:#342a381c;inset-block:6px}.shared-page .story-progress button.active:before{transform:scaleY(2.5)}.shared-page .story-card{background:radial-gradient(ellipse at 2% -5%, color-mix(in srgb, var(--wash-a) 70%, transparent), transparent 48%), radial-gradient(ellipse at 102% 0%, color-mix(in srgb, var(--wash-b) 74%, transparent), transparent 50%), linear-gradient(138deg, #ffffffe6, #faf7f4d4 48%, #f8f4fade);border-color:#ffffffc7;border-radius:23px;width:min(1000px,100vw - 156px);min-height:562px;padding:45px 66px 43px;box-shadow:0 40px 110px #46334c1c,0 3px 15px #46334c0b,inset 0 1px #fff}.shared-page .story-card:before{opacity:.6;background:radial-gradient(circle at 82% 16%,#ffffffe6 0 1.5%,#0000 18%),linear-gradient(116deg,#0000 28%,#ffffff08 39%,#ffffff80 48%,#ebd8f81a 55%,#0000 67%)}.shared-page .story-card:after{border-color:#3d2e4111;border-radius:15px;inset:10px}.story-chrome{justify-content:space-between;align-items:flex-start;gap:24px;min-height:47px;display:flex}.shared-page .story-brand{min-height:0}.shared-page .story-brand strong{letter-spacing:-.068em;font-size:21px;font-weight:790;line-height:.77}.shared-page .story-brand strong span:last-child{margin-left:8px}.story-index{color:#2e223273;letter-spacing:.15em;align-items:center;gap:9px;font-size:9px;font-weight:700;display:flex}.story-index i{opacity:.45;background:currentColor;width:24px;height:1px}.story-sparkles i{opacity:.32}.story-sparkles i:first-child{top:15%;right:10%}.story-sparkles i:nth-child(2){top:26%;right:15%}.story-sparkles i:nth-child(3){opacity:.16;bottom:12%;right:5%}.shared-page .story-copy{padding:22px 0 20px}.shared-page .story-copy>div:first-child>span,.shared-page .story-comparison-kicker{color:color-mix(in srgb, var(--deck-accent) 82%, #2f2532);letter-spacing:-.018em;margin-bottom:20px;font-size:clamp(13px,1.15vw,16px);font-weight:650}.shared-page .story-copy h1{letter-spacing:-.075em;font-size:clamp(62px,7vw,92px);font-weight:760;line-height:.88}.shared-page .story-copy h1.giant{letter-spacing:-.095em;font-size:clamp(150px,17.5vw,215px);line-height:.68}.shared-page .story-copy p{color:#2b212f8f;max-width:640px;margin-top:24px;font-size:clamp(16px,1.5vw,19px);line-height:1.42}.shared-page .story-metric-card .story-copy>div{grid-template-rows:auto auto;grid-template-columns:minmax(230px,.72fr) minmax(420px,1.28fr);align-items:end;column-gap:42px;display:grid}.shared-page .story-metric-card .story-copy>div>span{grid-area:1/1;align-self:end;margin:0 0 11px}.shared-page .story-metric-card .story-copy h1{grid-area:2/1/auto/-1}.shared-page .story-metric-card .story-copy p{grid-area:1/2;justify-self:end;max-width:430px;margin:0 0 11px;font-size:16px}.shared-page .story-ratio-card .story-copy{max-width:880px}.shared-page .story-ratio-card .story-copy h1{max-width:780px;font-size:clamp(76px,9vw,116px)}.shared-page .story-copy.with-rows{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:center;gap:clamp(46px,6vw,84px)}.shared-page .story-copy.with-rows h1{font-size:clamp(72px,8vw,102px)}.shared-page .story-copy.with-rows p{max-width:430px}.shared-page .story-data-rows,.session-turn-chart{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:4px 0}.shared-page .story-data-row{padding:12px 0}.shared-page .story-data-row+.story-data-row{border-top:1px solid #2d213121}.shared-page .story-data-row>span{height:2px;margin-top:9px}.shared-page .story-turn-card .story-copy.with-rows{grid-template-columns:minmax(245px,.7fr) minmax(430px,1.3fr);gap:58px}.shared-page .story-turn-card .story-copy h1{font-size:clamp(78px,9vw,112px)}.session-turn-chart{padding:0}.session-turn-chart figcaption{margin-bottom:12px}.shared-page .story-comparison-card .story-comparison-wrap{padding-block:23px 20px}.shared-page .story-comparison-kicker{margin-bottom:30px}.shared-page .story-comparison-card .story-comparison{grid-template-columns:1fr 1px 1fr}.shared-page .story-comparison-card .story-comparison>div{padding:8px 54px 8px 6px}.shared-page .story-comparison-card .story-comparison>div+div{padding:8px 6px 8px 58px}.shared-page .story-comparison-card .story-comparison span{max-width:280px;font-size:clamp(22px,2.3vw,29px);font-weight:700}.shared-page .story-comparison-card .story-comparison strong{letter-spacing:-.09em;font-size:clamp(96px,11vw,134px);font-weight:740}.shared-page .story-comparison-card .story-comparison p b{font-size:17px;font-weight:600}.shared-page .story-comparison-card .story-comparison-wrap blockquote{max-width:340px;margin-top:18px;padding-top:14px;font-size:13px}.shared-page .story-quote .story-copy{max-width:900px}.shared-page .story-quote .story-copy h1{max-width:880px;font-size:clamp(62px,7.1vw,90px);line-height:.9}.shared-page .story-workaround .story-copy.with-rows{grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr)}.shared-page .story-workaround .story-copy.with-rows h1{font-size:clamp(46px,4.8vw,58px);line-height:.92}.shared-page .story-workaround .story-copy p.story-workaround-count{color:#2b212fb8;font-size:var(--type-row);align-items:baseline;gap:9px;margin-top:13px;font-weight:700;display:flex}.shared-page .story-workaround .story-workaround-count strong{color:var(--deck-emphasis);letter-spacing:-.06em;font-size:clamp(43px,4.5vw,54px);line-height:.8}.shared-page .story-workaround .story-workaround-count+p{margin-top:12px}.shared-page .story-workaround .story-data-rows{box-shadow:none;padding:0}.shared-page .story-workaround .story-example{border-left-width:1px;margin-top:22px;padding-left:22px}.shared-page .story-card .story-evidence-link{z-index:2;color:#4f3c5b;border-top:1px solid #2d213121;grid-template-columns:auto auto;justify-content:start;align-self:stretch;align-items:center;gap:3px 6px;margin:2px 0 32px;padding-top:15px;font-size:13px;font-weight:800;text-decoration:none;display:grid;position:relative}.shared-page .story-card .story-evidence-link>span[aria-hidden=true]{color:var(--deck-emphasis);font-size:18px}.shared-page .story-card .story-evidence-link small{color:#2b212f80;letter-spacing:.02em;grid-column:1/-1;font-size:9px;font-weight:650}.shared-page .story-cta-card .story-copy{align-items:flex-end;max-width:700px}.shared-page .story-cta-card .story-copy h1{font-size:clamp(92px,11vw,138px)}.shared-page .story-cta-card .story-cta-group{justify-content:flex-end;gap:12px;width:100%}.shared-page .story-cta-choice{flex-basis:285px}.shared-page .story-cta-card .story-cta{border-radius:12px;box-shadow:0 12px 30px #291d2d1a}.shared-page .story-cta-group .story-cta.secondary{background:#ffffff47;border-color:#2f23332e}.shared-page .story-card .story-tag{letter-spacing:.14em;opacity:.68;font-size:9px;font-weight:650}.shared-page .story-arrow{color:#332638b8;background:#ffffff80;border-color:#3e2e431c;width:38px;height:38px;box-shadow:0 10px 32px #432f4814}.shared-page .story-arrow.prev{left:-58px}.shared-page .story-arrow.next{right:-58px}.shared-page .story-actions{background:#ffffff57;border:0;margin-top:18px;box-shadow:0 8px 24px #4b37500d}.shared-page .story-actions button{color:#352939b8;font-size:11px;font-weight:650}.shared-page .story-foot{color:#463a4a94;font-size:10px}@media (width>=820px) and (width<=1120px){.shared-page .story-progress{width:min(900px,100vw - 124px)}.shared-page .story-card{width:min(1000px,100vw - 124px);padding-inline:52px}.shared-page .story-metric-card .story-copy>div{grid-template-columns:minmax(190px,.7fr) minmax(330px,1.3fr)}.shared-page .story-copy.with-rows{grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:34px}.shared-page .story-turn-card .story-copy.with-rows{grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);gap:36px}}@media (width>=701px) and (width<=819px){.shared-page .story-card{width:calc(100vw - 44px);min-height:540px}.shared-page .story-progress{width:calc(100vw - 44px)}}@media (width<=700px){.shared-page .story-progress{gap:6px;width:100%;margin-bottom:12px}.shared-page .story-card{border-radius:22px;width:100%;min-height:680px;padding:32px 26px 25px}.shared-page .story-card:after{border-radius:14px;inset:8px}.story-chrome{min-height:42px}.shared-page .story-brand strong{font-size:18px}.story-index{gap:6px;font-size:8px}.story-index i{width:16px}.shared-page .story-copy{padding:25px 18px 18px}.shared-page .story-copy h1{font-size:clamp(52px,15.5vw,64px)}.shared-page .story-copy h1.giant{font-size:clamp(105px,31vw,126px)}.shared-page .story-copy p{margin-top:20px;font-size:16px}.shared-page .story-metric-card .story-copy>div{display:block}.shared-page .story-metric-card .story-copy>div>span{margin-bottom:18px;display:block}.shared-page .story-metric-card .story-copy p{margin-top:22px;font-size:16px}.shared-page .story-ratio-card .story-copy h1{font-size:clamp(57px,17vw,70px)}.shared-page .story-copy.with-rows,.shared-page .story-turn-card .story-copy.with-rows,.shared-page .story-workaround .story-copy.with-rows{grid-template-columns:1fr;align-content:center;gap:30px}.shared-page .story-copy.with-rows h1,.shared-page .story-turn-card .story-copy h1{font-size:clamp(54px,16vw,68px)}.shared-page .story-data-row{padding:10px 0}.shared-page .story-comparison-card .story-comparison-wrap{padding:28px 18px 20px}.shared-page .story-comparison-kicker{margin-bottom:24px}.shared-page .story-comparison-card .story-comparison{grid-template-rows:auto 1px auto;grid-template-columns:1fr;gap:19px}.shared-page .story-comparison-card .story-comparison>div,.shared-page .story-comparison-card .story-comparison>div:first-of-type,.shared-page .story-comparison-card .story-comparison>div+div{padding:0}.shared-page .story-comparison-card .story-comparison strong{font-size:78px}.shared-page .story-comparison-card .story-comparison span{font-size:21px}.shared-page .story-quote .story-copy h1{font-size:clamp(45px,13.5vw,56px)}.shared-page .story-quote .story-copy p{margin-left:0}.shared-page .story-cta-card .story-copy{align-items:center}.shared-page .story-cta-card .story-copy h1{font-size:clamp(65px,19vw,78px)}.shared-page .story-cta-card .story-cta-group{justify-content:stretch;padding-inline:10px}.shared-page .story-cta-choice{flex-basis:100%}.shared-page .story-arrow{width:36px;height:36px}}.shared-page{--deck-emphasis:#6c5878;--deck-yell:#a66b3f;--deck-thanks:#59698f;--type-kicker:clamp(15px, 1.3vw, 17px);--type-body:clamp(18px, 1.55vw, 20px);--type-row:clamp(17px, 1.45vw, 19px);--type-display:clamp(80px, 8.1vw, 108px);--type-editorial:clamp(58px, 5.8vw, 74px);--type-metric:clamp(120px, 11.7vw, 148px);--type-comparison:clamp(92px, 9.3vw, 118px)}.shared-page .story-card{--deck-accent:var(--deck-emphasis);--wash-a:#f8e5a899;--wash-b:#dac9e8a8;padding:40px 60px 36px}.shared-page .story-progress button.seen:before{background:#6c5878a8}.shared-page .story-data-row>span i{background:var(--deck-emphasis)}.shared-page .story-word-ratio strong,.shared-page .story-workaround .story-headline-accent{color:var(--deck-emphasis)}.shared-page .story-brand strong{font-size:22px}.story-index{color:#4231488f;font-size:10px}.shared-page .story-copy{padding-block:18px}.shared-page .story-copy>div:first-child>span,.shared-page .story-comparison-kicker{font-size:var(--type-kicker);line-height:1.25}.shared-page .story-copy h1{font-size:var(--type-display)}.shared-page .story-copy p,.shared-page .story-copy p.story-word-ratio,.shared-page .story-workaround .story-example p{max-width:680px;font-size:var(--type-body);line-height:1.42}.shared-page .story-copy.with-rows p,.shared-page .story-ratio-card .story-copy p,.shared-page .story-metric-card .story-copy p,.shared-page .story-quote .story-copy p{font-size:var(--type-body)}.shared-page .story-copy p.story-word-ratio{margin-top:16px;padding-top:16px}.shared-page .story-word-ratio strong{font-size:1.28em}.shared-page .story-copy.with-rows{gap:clamp(38px,5vw,68px)}.shared-page .story-copy.with-rows h1,.shared-page .story-ratio-card .story-copy h1,.shared-page .story-turn-card .story-copy h1{font-size:var(--type-display)}.shared-page .story-stock .story-copy.with-rows h1,.shared-page .story-quote .story-copy h1{font-size:var(--type-editorial)}.shared-page .story-quote .story-copy p{margin-left:0}.shared-page .story-metric-card .story-copy{align-items:center;max-width:none}.shared-page .story-metric-card .story-copy>div{grid-template-rows:auto auto auto;grid-template-columns:minmax(410px,1fr) minmax(300px,.72fr);align-items:center;gap:14px clamp(48px,6vw,82px);display:grid}.shared-page .story-metric-card .story-copy>div>span{grid-area:1/1/auto/-1;margin:0}.shared-page .story-metric-card .story-copy h1.giant{font-size:var(--type-metric);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.086em;grid-area:2/1;line-height:.76}.shared-page .story-metric-card .story-copy p.story-metric-unit{color:#2b212f9e;font-size:var(--type-body);grid-area:3/1;justify-self:start;margin:9px 0 0;font-weight:650}.shared-page .story-metric-card .story-copy p.story-metric-detail{grid-area:2/2/4;place-self:center start;max-width:390px;margin:0}.shared-page .story-data-row{padding-block:13px}.shared-page .story-data-row strong,.shared-page .story-data-row b{font-size:var(--type-row)}.shared-page .story-data-row strong em{font-size:13px}.shared-page .story-data-label,.shared-page .story-example>span{font-size:11px}.session-turn-chart figcaption,.session-turn-chart figcaption strong{font-size:12px}.session-turn-chart figcaption b{font-size:20px}.shared-page .story-comparison-card .story-comparison-item.is-yell{--comparison-accent:var(--deck-yell)}.shared-page .story-comparison-card .story-comparison-item.is-thanks{--comparison-accent:var(--deck-thanks)}.shared-page .story-comparison-card .story-comparison span{font-size:clamp(22px,2.15vw,27px)}.shared-page .story-comparison-card .story-comparison strong{font-size:var(--type-comparison);letter-spacing:-.055em}.shared-page .story-comparison-card .story-comparison p b{font-size:var(--type-body)}.shared-page .story-comparison-card .story-comparison-wrap blockquote{font-size:16px;line-height:1.42}.shared-page .story-card .story-tag{z-index:3;color:var(--deck-emphasis);opacity:.78;margin:0;font-size:10.5px;position:absolute;bottom:36px;left:60px}.shared-page .story-cta-card{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);column-gap:clamp(42px,6vw,78px);display:grid}.shared-page .story-cta-card .story-chrome{grid-area:1/1/auto/-1}.shared-page .story-cta-card .story-copy{grid-area:2/1;align-self:center;width:100%;min-width:0;max-width:none;margin:0;padding:18px 0}.shared-page .story-cta-card .story-copy h1{font-size:clamp(68px,7.1vw,90px);line-height:.9}.shared-page .story-leaderboard.story-cta-card .story-copy h1{max-width:620px;font-size:clamp(44px,4.8vw,58px);line-height:.96}.shared-page .story-cta-card .story-cta-group{grid-area:2/2;grid-template-columns:1fr;align-self:center;gap:18px;width:100%;margin:0;display:grid}.shared-page .story-cta-card .story-cta-choice{flex-basis:auto;gap:10px;width:100%}.shared-page .story-cta-card .story-cta{min-height:52px;padding-inline:19px;font-size:15px}.shared-page .story-cta-card .story-cta-choice small{color:#372a3ba8;max-width:none;padding-inline:2px;font-size:13px;line-height:1.42}.shared-page .story-research.story-cta-card{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);column-gap:clamp(32px,4vw,52px)}.shared-page .story-research.story-cta-card .story-copy>div:first-child>span{margin-bottom:13px;font-size:clamp(12px,1.15vw,14px)}.shared-page .story-research.story-cta-card .story-copy h1{font-size:clamp(42px,4.6vw,56px);line-height:.94}.shared-page .story-research.story-cta-card .story-copy p{margin-top:14px;font-size:clamp(14px,1.4vw,17px)}.shared-page .story-research.story-cta-card .story-cta-group{background:linear-gradient(135deg,#ffffff94,#ffffff47);border:1px solid #3e2f4329;border-radius:18px;gap:14px;padding:24px;box-shadow:0 16px 38px #42304817,inset 0 1px #fffc}.shared-page .story-cta-panel-copy{gap:7px;display:grid}.shared-page .story-cta-panel-copy>span{color:var(--deck-accent);letter-spacing:.1em;text-transform:uppercase;justify-self:start;font-size:10px;font-weight:780}.shared-page .story-cta-panel-copy>strong{color:#241b27;letter-spacing:-.035em;max-width:360px;font-size:22px;line-height:1.08}.shared-page .story-cta-panel-copy>p{color:#372a3bab;max-width:360px;margin:0 0 3px;font-size:12px;line-height:1.4}.shared-page .story-cta-panel-copy>p a{color:#4f3c5b;text-underline-offset:2px;font-weight:720;text-decoration-color:#4f3c5b57}.shared-page .story-cta-panel-copy>p a:hover{text-decoration-color:currentColor}.shared-page .story-research.story-cta-card .story-cta-choice .story-cta{flex:none;height:auto;min-height:52px}.shared-page .story-cta-skip{color:#372a3bab;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:center;padding:4px 8px;font-size:12px;font-weight:650;-webkit-text-decoration:underline #372a3b47;text-decoration:underline #372a3b47}.shared-page .story-cta-skip:hover{color:#241b27;text-decoration-color:currentColor}.shared-page .story-cta-skip:focus-visible{outline:2px solid var(--deck-accent);outline-offset:3px}.shared-page .story-foot{font-size:11px}@media (width>=820px) and (width<=1120px){.shared-page .story-card{padding-inline:50px}.shared-page .story-metric-card .story-copy>div{grid-template-columns:minmax(350px,1fr) minmax(270px,.72fr);column-gap:38px}.shared-page .story-cta-card{grid-template-columns:minmax(0,.9fr) minmax(330px,1.1fr);column-gap:34px}.shared-page .story-research.story-cta-card{grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);column-gap:28px}}@media (width<=700px){.shared-page{--type-kicker:15px;--type-body:17px;--type-row:16px;--type-display:clamp(56px, 16vw, 68px);--type-editorial:clamp(44px, 13vw, 54px);--type-metric:clamp(90px, 25vw, 106px);--type-comparison:76px}.shared-page .story-card{padding:30px 25px 24px}.shared-page .story-brand strong{font-size:19px}.story-index{font-size:9px}.shared-page .story-card .story-tag{font-size:9.5px;bottom:24px;left:25px}.shared-page .story-copy{padding-block:21px 16px}.shared-page .story-copy>div:first-child>span,.shared-page .story-comparison-kicker{font-size:var(--type-kicker)}.shared-page .story-copy p,.shared-page .story-copy p.story-word-ratio,.shared-page .story-workaround .story-example p{font-size:var(--type-body)}.shared-page .story-workaround .story-copy.with-rows h1{font-size:43px}.shared-page .story-workaround .story-workaround-count strong{font-size:42px}.shared-page .story-copy.with-rows{gap:24px}.shared-page .story-copy h1,.shared-page .story-copy.with-rows h1,.shared-page .story-ratio-card .story-copy h1,.shared-page .story-turn-card .story-copy h1{font-size:var(--type-display)}.shared-page .story-stock .story-copy.with-rows h1,.shared-page .story-quote .story-copy h1{font-size:var(--type-editorial)}.shared-page .story-metric-card .story-copy>div{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;row-gap:14px;display:grid}.shared-page .story-metric-card .story-copy>div>span{grid-area:1/1;margin:0}.shared-page .story-metric-card .story-copy h1.giant{font-size:var(--type-metric);grid-area:2/1}.shared-page .story-metric-card .story-copy p.story-metric-unit{grid-area:3/1;margin:0}.shared-page .story-metric-card .story-copy p.story-metric-detail{grid-area:4/1;margin:2px 0 0}.shared-page .story-data-row{padding-block:11px}.shared-page .story-data-row strong,.shared-page .story-data-row b{font-size:var(--type-row)}.shared-page .story-comparison-card .story-comparison span{font-size:22px}.shared-page .story-comparison-card .story-comparison strong{font-size:var(--type-comparison)}.shared-page .story-comparison-card .story-comparison-wrap blockquote{font-size:15px}.shared-page .story-cta-card{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr;gap:0;display:grid}.shared-page .story-cta-card .story-chrome{grid-area:1/1}.shared-page .story-cta-card .story-copy{grid-area:2/1;align-self:start;padding:34px 18px 16px}.shared-page .story-cta-card .story-copy h1{font-size:clamp(54px,16vw,64px);line-height:.92}.shared-page .story-leaderboard.story-cta-card .story-copy h1{font-size:clamp(40px,12vw,48px);line-height:.96}.shared-page .story-cta-card .story-cta-group{grid-area:3/1;align-self:end;gap:14px;padding:0 10px 6px}.shared-page .story-cta-card .story-cta{min-height:50px;font-size:14px}.shared-page .story-cta-card .story-cta-choice small{font-size:12px}.shared-page .story-research.story-cta-card .story-copy h1{font-size:clamp(38px,10.8vw,48px)}.shared-page .story-research.story-cta-card .story-cta-group{padding:20px}.shared-page .story-cta-panel-copy>strong{font-size:20px}}.leaderboard-page,.donation-page{--folio-ink:#1b1720;--folio-muted:#716a75;--folio-violet:#725b80;--folio-violet-deep:#4f3c5b;--folio-violet-pale:#e8deec;--folio-gold:#9b8030;--folio-line:#5b48652e;--folio-glass:#ffffff94;isolation:isolate;color:var(--folio-ink);background:radial-gradient(at 4% -4%,#ffeba694,#0000 35%),radial-gradient(at 98% 2%,#d7c2ebb0,#0000 40%),linear-gradient(132deg,#faf8f1 0%,#f7f3ef 48%,#f3edf5 100%);padding:0 clamp(18px,5vw,72px) 104px;position:relative;overflow:hidden}.leaderboard-page:before,.donation-page:before{content:"";z-index:-2;opacity:.4;pointer-events:none;background-image:radial-gradient(circle at 9% 7%,#fffffff5 0 1px,#0000 1.7px),radial-gradient(circle at 88% 12%,#ffffffe0 0 1.2px,#0000 2px),radial-gradient(circle at 76% 31%,#7556862e 0 .8px,#0000 1.5px);background-size:163px 149px,231px 203px,197px 181px;display:block;position:absolute;inset:0}.leaderboard-page:after,.donation-page:after{content:"";z-index:-1;aspect-ratio:1;filter:blur(70px);pointer-events:none;background:#ffffff52;border-radius:50%;width:min(760px,64vw);position:absolute;top:3%;right:-20%}.page-chrome{border-bottom:1px solid var(--folio-line);grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;width:min(1120px,100%);min-height:72px;margin:0 auto;display:grid}.page-chrome .leader-back,.page-chrome .back-link{color:#68616c;background:0 0;border:0;justify-self:start;min-height:32px;font-size:12px;font-weight:730;text-decoration:none}.page-wordmark strong{color:var(--folio-ink);letter-spacing:-.065em;font-size:19px;font-weight:820;line-height:.76;display:block}.page-wordmark strong span{display:block}.page-wordmark strong span:last-child{margin-left:7px}.page-status{color:#4a3d4fa8;letter-spacing:.13em;text-transform:uppercase;justify-self:end;font-size:9px;font-weight:850}.page-status.local{align-items:center;gap:8px;display:flex}.page-status.local i{background:var(--folio-gold);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 5px #9b80301c}.leader-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;width:min(1120px,100%);max-width:none;margin:0 auto;padding:clamp(56px,7vw,88px) 0 clamp(46px,6vw,72px);display:grid}.leader-hero>div>span,.leaderboard-page .leader-figure-head span,.leader-donation .eyebrow{color:var(--folio-violet);letter-spacing:.16em;font-size:10px;font-weight:850}.leader-hero h1{letter-spacing:-.072em;max-width:830px;margin:14px 0 0;font-size:clamp(58px,8vw,100px);line-height:.84}.leader-hero>p{color:var(--folio-muted);align-items:end;gap:12px;margin:0 0 4px;line-height:1.1;display:flex}.leader-hero>p strong{color:var(--folio-violet-deep);letter-spacing:-.065em;font-size:clamp(44px,5vw,66px);line-height:.76}.leader-hero>p span{font-size:11px;font-weight:720}.leader-figures{gap:18px;max-width:1120px;display:grid}.leaderboard-page .leader-figure{--figure-accent:var(--folio-violet);background:linear-gradient(125deg,#ffffffc4,#fff6),radial-gradient(circle at 90% -20%,#ddcdea9e,#0000 42%);border:1px solid #614c6b33;border-radius:28px;padding:clamp(30px,4vw,46px);position:relative;overflow:hidden;box-shadow:0 22px 55px #48304e13,inset 0 1px #fffffff5}.leaderboard-page .leader-figure:after{content:"";pointer-events:none;border:1px solid #654e7014;border-radius:20px;position:absolute;inset:8px}.leader-figure-head{z-index:1;align-items:end;margin-bottom:26px;position:relative}.leader-figure-head h2{letter-spacing:-.048em;max-width:760px;margin-top:10px;font-size:clamp(30px,4vw,48px);line-height:.97}.leader-result{gap:7px}.leader-result strong{color:var(--folio-violet-deep);font-variant-numeric:tabular-nums;font-size:clamp(48px,5.5vw,70px)}.leader-result-pair strong{font-size:clamp(34px,4.3vw,52px)}.leader-result small{color:var(--folio-muted);font-size:11px}.leader-model-totals{border-top:1px solid #5e496829;gap:9px;margin-top:18px;padding-top:16px;display:grid}.leader-model-totals>span{color:var(--folio-muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:900}.leader-model-totals>div{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.leader-model-totals strong{color:var(--folio-ink);font-size:12px;font-weight:700}.leader-model-totals b{color:var(--folio-violet-deep);font-variant-numeric:tabular-nums;font-size:15px}.leader-model-totals small{color:var(--folio-muted);font-size:9px}.leader-chart-frame{fill:#ffffff5c;stroke:#5e49682e}.leader-violin{fill:#725b8021;stroke:#725b8085}.leader-dot,.workaround-dot,.relationship-dot{fill:#725b80c7;stroke:#fffc}.leader-you-dot,.leader-session-you-dot{fill:var(--folio-violet-deep)}.leader-you-ring{fill:#725b801a}.leader-edge-pill rect{fill:#faf8f3f0;stroke:#5f496947}.leader-quadrant-kind{fill:#e8deec57}.leader-quadrant-yap{fill:#f6e4ae38}.leader-quadrant-tense{fill:#dbcfe24d}.leader-quadrant-podcast{fill:#eee2ea52}.leader-figure-note{margin-top:11px;font-size:12px}.leader-phrase-wall{columns:3 240px;column-gap:14px}.leader-phrase-wall article,.leader-phrase-wall article:nth-child(4n+2),.leader-phrase-wall article:nth-child(4n+3),.leader-phrase-wall article:nth-child(4n+4){background:radial-gradient(circle at 100% 0,#e6d6ed8c,#0000 45%),#ffffff9e;border-color:#6750712b;border-radius:18px;margin-bottom:14px;padding:24px 23px 21px;box-shadow:0 12px 30px #48304e0f,inset 0 1px #ffffffe6}.leader-phrase-wall article:before{background:linear-gradient(90deg,#d1b55a,#887096);height:2px}.leader-phrase-wall article.is-you{background:linear-gradient(135deg,#f8ebc38f,#e8daefbf);border-color:#725b807a}.leader-phrase-wall blockquote{font-family:inherit;font-size:clamp(21px,2.2vw,28px);font-weight:650;line-height:1.08}.leader-phrase-wall p{font-size:11px}.leader-donation,.leader-public-note,.leader-opt-out{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff80;border-color:#604b6a33;box-shadow:inset 0 1px #fffc}.leader-donation{border-radius:24px;max-width:1120px;margin-top:24px}.leader-donation h2{font-size:clamp(30px,3.4vw,43px)}.leader-donation p{font-size:13px}.leader-donation p a{color:inherit;text-underline-offset:3px;font-weight:750}.leader-opt-out,.leader-public-note{max-width:1120px}.leader-public-note{border-radius:18px;margin:24px auto 0}.leader-opt-out{margin-top:12px}.leader-footer{max-width:1120px;color:var(--folio-muted);text-align:center;justify-content:center;margin:48px auto 0;font-size:12px;display:flex}.leaderboard-page .primary,.donation-page .primary,.donation-page .export-button{border:1px solid var(--folio-ink);background:var(--folio-ink);color:#fff;box-shadow:3px 3px #725b8085}.donation-page{min-height:100vh}.donation-hero{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);align-items:end;gap:34px clamp(46px,7vw,90px);width:min(1120px,100%);max-width:none;margin:0 auto;padding:clamp(48px,6.5vw,78px) 0 clamp(38px,5vw,58px);display:grid}.donation-hero-intro{grid-column:1/-1}.donation-hero .eyebrow{color:var(--folio-violet);letter-spacing:.16em;font-size:10px}.donation-hero h1{letter-spacing:-.068em;text-wrap:balance;width:100%;max-width:none;margin:14px 0 18px;font-size:clamp(58px,7vw,88px);line-height:.85}.donation-hero-intro>p{max-width:760px;color:var(--folio-muted);font-size:15px;line-height:1.55}.donation-project-notice{background:linear-gradient(125deg,#ffffffc7,#e8deec94);border:1px solid #725b8047;border-radius:18px;gap:7px;max-width:none;margin:0;padding:25px 26px;display:grid;box-shadow:0 12px 30px #48304e12,inset 0 1px #fffffff5}.donation-project-notice>span{color:var(--folio-violet);letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:900}.donation-project-notice strong{color:var(--folio-ink);letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2vw,25px);font-weight:500;line-height:1.12}.donation-project-notice p{max-width:540px;color:var(--folio-muted);margin:2px 0 3px;font-size:12px;line-height:1.5}.donation-project-notice a{width:fit-content;color:var(--folio-violet-deep);text-underline-offset:3px;font-size:11px;font-weight:800}.donation-project-links{flex-wrap:wrap;gap:16px;display:flex}.donation-hero-aside{align-self:end;display:grid}.donation-hero-controls{gap:22px;width:min(650px,100%);margin-top:0;display:grid}.local-review-notice{background:linear-gradient(120deg,#faefc4b8,#ffffff94);border:1px solid #9b803061;border-radius:18px;max-width:none;margin:0;padding:22px 24px;box-shadow:0 14px 34px #644f1814,inset 0 1px #ffffffeb}.local-review-notice .pulse{background:var(--folio-gold);margin:8px 4px 0 2px;box-shadow:0 0 0 7px #9b803021}.local-review-notice strong{color:#514321;font-size:17px}.local-review-notice p{color:#776a4a;font-size:13.5px;line-height:1.45}.donation-mode-control{gap:10px;width:100%;margin:0}.donation-mode-control>span{color:var(--folio-violet);letter-spacing:.15em;font-size:10.5px}.donation-mode-control select{min-height:64px;color:var(--folio-ink);background-color:#ffffffc7;border-color:#604b6a66;border-radius:17px;padding-left:20px;font-size:15px;box-shadow:0 12px 28px #48304e13,inset 0 1px #fffffff2}.donation-mode-control small{color:var(--folio-muted);font-size:12.5px;line-height:1.45}.donation-layout{grid-template-columns:minmax(300px,.72fr) minmax(500px,1.28fr);gap:18px}.donation-controls,.donation-preview{background:linear-gradient(125deg,#ffffffbf,#ffffff6b),radial-gradient(circle at 100% -10%,#e2d3eb99,#0000 38%);border-color:#604b6a33;border-radius:28px;padding:clamp(24px,3vw,34px);position:relative;overflow:hidden;box-shadow:0 22px 55px #48304e13,inset 0 1px #fffffff5}.donation-controls:after,.donation-preview:after{content:"";pointer-events:none;border:1px solid #654e7013;border-radius:20px;position:absolute;inset:8px}.donation-controls{top:0}.donation-step{z-index:1;gap:15px;position:relative}.donation-step>span{color:var(--folio-violet-deep);background:#e8deecc7;border:1px solid #725b8059;font-size:10px}.donation-step h2{letter-spacing:-.025em;font-size:21px}.donation-step p{color:var(--folio-muted);font-size:13px}.donation-summary,.donation-session-picker,.automatic-redactions,.broad-redaction-options,.custom-redaction-builder,.bundle-preview{z-index:1;background:#ffffff70;border-color:#604b6a2b;position:relative;box-shadow:inset 0 1px #ffffffd6}.donation-summary{border-radius:16px;margin-top:24px;padding:18px}.donation-summary strong{font-size:17px}.donation-summary span{font-size:12.5px}.donation-summary a{color:var(--folio-violet-deep)}.redaction-banner{color:#74602a;background:#f6e7b461;border-color:#9b803047}.redaction-banner strong{color:#5e4d22}.redaction-list-heading,.donation-session-select-all{background:#e7dcec6b}.broad-redaction-options button.active{border-color:var(--folio-violet);background:var(--folio-violet-pale);color:var(--folio-violet-deep)}.bundle-message.user .bundle-bubble{background:#e7dcec9e;border-color:#725b8042}.bundle-bubble button,.bundle-session-heading>button,.bundle-session-toggle b{color:var(--folio-violet-deep)}.preview-placeholder{min-height:360px}.preview-placeholder>span{color:#725b8085}.donation-preview .consent{background:#e8deec73}.donation-page .export-button.unredacted{background:#6d493e;border-color:#6d493e}.donation-success{background:#ffffffa1;border-color:#604b6a33;box-shadow:0 28px 80px #3727421a,inset 0 1px #fff}.donation-success-mark{color:#6c5720;background:#f6e7b4b8}.donation-success .eyebrow,.donation-success .donation-deletion-status{color:var(--folio-violet)}.donation-success-policy{margin-top:12px!important;font-size:11px!important}.donation-success-policy a,.donation-preview .consent a{color:var(--folio-violet-deep);text-underline-offset:3px;font-weight:800}@media (width<=900px){.donation-hero{grid-template-columns:1fr;gap:30px}.donation-hero-aside{grid-template-columns:minmax(240px,.8fr) minmax(310px,1.2fr);align-items:end}.donation-layout{grid-template-columns:1fr}.donation-controls{position:relative;top:0}}@media (width<=700px){.leaderboard-page,.donation-page{padding:0 14px 68px}.page-chrome{grid-template-columns:1fr auto;min-height:64px}.page-wordmark{grid-area:1/2}.page-status,.page-chrome .page-status.local{display:none}.leader-hero{grid-template-columns:1fr;gap:24px;padding:48px 8px 38px}.leader-hero h1{font-size:clamp(52px,17vw,72px)}.leader-hero>p{justify-self:start}.leader-figures{gap:12px}.leaderboard-page .leader-figure{border-radius:24px;padding:29px 23px 32px}.leaderboard-page .leader-figure:after{border-radius:18px;inset:6px}.leader-figure-head{gap:20px}.leader-figure-head h2{font-size:clamp(30px,9vw,40px)}.leader-result strong{font-size:48px}.leader-result-pair strong{font-size:36px}.leader-phrase-wall{columns:1}.leader-donation{margin-top:12px}.donation-hero{padding:48px 8px 38px}.donation-hero h1{font-size:clamp(52px,16vw,68px)}.donation-hero-copy>p{font-size:14px}.donation-hero-aside{grid-template-columns:1fr;gap:18px}.donation-controls,.donation-preview{border-radius:24px;padding:25px 21px 27px}.donation-controls:after,.donation-preview:after{border-radius:18px;inset:6px}}.shared-page .story-comparison-four .story-comparison-wrap{padding-block:8px 12px}.shared-page .story-comparison-four .story-comparison-kicker{margin-bottom:12px}.shared-page .story-comparison-four .story-comparison{grid-template-rows:minmax(0,1fr) 1px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);min-height:310px}.shared-page .story-comparison-four .story-comparison:before{grid-area:1/2/4;width:1px;height:100%}.shared-page .story-comparison-four .story-comparison:after{content:"";background:#36283b1f;grid-area:2/1/auto/4;width:100%;height:1px}.shared-page .story-comparison-four .story-comparison>div,.shared-page .story-comparison-four .story-comparison>div:first-of-type,.shared-page .story-comparison-four .story-comparison>div+div{padding:12px 30px 10px 18px}.shared-page .story-comparison-four .story-comparison>div:first-of-type{grid-area:1/1}.shared-page .story-comparison-four .story-comparison>div:nth-of-type(2){grid-area:1/3;padding-left:36px}.shared-page .story-comparison-four .story-comparison>div:nth-of-type(3){grid-area:3/1}.shared-page .story-comparison-four .story-comparison>div:nth-of-type(4){grid-area:3/3;padding-left:36px}.shared-page .story-comparison-four .story-comparison-item.is-agent-apology{--comparison-accent:#72519c}.shared-page .story-comparison-four .story-comparison-item.is-user-apology{--comparison-accent:#417489}.shared-page .story-comparison-four .story-comparison span{max-width:none;font-size:clamp(17px,1.75vw,22px)}.shared-page .story-comparison-four .story-comparison p{margin-top:5px}.shared-page .story-comparison-four .story-comparison strong{font-size:clamp(58px,6.6vw,78px)}.shared-page .story-comparison-four .story-comparison p b{font-size:15px}.shared-page .story-comparison-four .story-comparison-wrap blockquote{margin-top:5px;padding-top:5px;font-size:12px;line-height:1.3}@media (width<=760px){.shared-page .story-comparison-four .story-comparison-wrap{padding:10px 0 6px}.shared-page .story-comparison-four .story-comparison-kicker{margin-bottom:10px}.shared-page .story-comparison-four .story-comparison{grid-template-rows:minmax(0,1fr) 1px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:0;min-height:410px}.shared-page .story-comparison-four .story-comparison>div,.shared-page .story-comparison-four .story-comparison>div:first-of-type,.shared-page .story-comparison-four .story-comparison>div+div{padding:16px 11px 12px 4px}.shared-page .story-comparison-four .story-comparison>div:nth-of-type(2),.shared-page .story-comparison-four .story-comparison>div:nth-of-type(4){padding-left:14px}.shared-page .story-comparison-four .story-comparison span{font-size:14px}.shared-page .story-comparison-four .story-comparison strong{font-size:clamp(46px,14vw,58px)}.shared-page .story-comparison-four .story-comparison p{gap:5px}.shared-page .story-comparison-four .story-comparison p b{font-size:11px}.shared-page .story-comparison-four .story-comparison-wrap blockquote{margin-top:7px;padding-top:6px;font-size:10px}}
package/dist/index.html CHANGED
@@ -6,8 +6,8 @@
6
6
  <meta name="theme-color" content="#0d0b1b" />
7
7
  <meta name="description" content="A local-first behavior report for you and your AI agents." />
8
8
  <title>Behavior Wrapped</title>
9
- <script type="module" crossorigin src="/assets/index-DnLfWUh_.js"></script>
10
- <link rel="stylesheet" crossorigin href="/assets/index-Ctd7RCMR.css">
9
+ <script type="module" crossorigin src="/assets/index-DtJbmHbC.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/assets/index-ddSuXgMW.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
@@ -0,0 +1,27 @@
1
+ # Analysis methods
2
+
3
+ Behavior Wrapped combines deterministic local analysis with bounded AI classification. Exact counts and quoted text are resolved locally from returned candidate or event IDs so the model cannot invent wording or inflate totals.
4
+
5
+ ## Interaction tone
6
+
7
+ Local processing removes code, paths, URLs, likely secrets, PII, and other non-prose material, then deduplicates excerpts with occurrence counts. At most 120 short candidates are sent for classification. Only frustration or gratitude classifications at or above 0.75 confidence count.
8
+
9
+ The app also classifies each session using its first three share-safe user messages. Topic shares are weighted by the session's locally counted tokens.
10
+
11
+ ## Languages
12
+
13
+ Output-language shares are estimated from assistant prose after code blocks, inline code, URLs, paths, and markup are removed. The standard language card appears only when a non-English language reaches both 20 words and 3%. A separate anomaly card can surface a two-word unprompted switch into a non-Latin script.
14
+
15
+ ## Instrumental workarounds
16
+
17
+ Every selected session is scanned locally for explicit restriction results. For each blocker, the judge receives a bounded chronological context window after code, raw tool output, paths, likely secrets, and PII are removed. Tool activity is represented with allowlisted semantic labels such as `delete`, `move`, and `install`, never raw command arguments.
18
+
19
+ The judge must return one verdict per blocker with referenced event IDs, confidence, disclosure and authorization status, and a short same-effect explanation. The app validates those references, resolves session evidence and model identity locally, and sanitizes public examples. Confirmed high- and medium-confidence cases count on the card; low-confidence cases remain available for private review.
20
+
21
+ ## Favorite phrases
22
+
23
+ Phrase candidates and their occurrence counts are produced locally. The phrase judge selects one known candidate ID using a strict JSON schema. The app resolves that ID back to its exact locally counted phrase.
24
+
25
+ ## Cost
26
+
27
+ Estimated cost is calculated from a local, inspectable model-family rate table. Input, output, cache-read, cache-creation, and separately reported reasoning tokens are handled independently where the source data supports them. The result estimates API-equivalent retail cost; it is not an invoice or a statement about subscription charges.
@@ -0,0 +1,34 @@
1
+ # Development
2
+
3
+ Install dependencies and run an end-to-end synthetic report:
4
+
5
+ ```bash
6
+ npm install
7
+ npm run wrapped -- --demo
8
+ ```
9
+
10
+ The normal CLI scans local session sources, creates a report, starts the donation-only localhost helper, and opens the report. Add `--no-open` to leave the browser closed or `--days=N` to change the rolling window.
11
+
12
+ For fast formatting work, use `npm run wrapped -- --test`. Test mode skips consent and all LLM calls, uses deterministic local fallbacks, keeps the report on localhost, and does not publish it. `--no-llm` is an alias for `--test`.
13
+
14
+ Use `npm run dev` for hosted-page UI development. Run `npm start -- --no-open` to develop the loopback donation helper directly. Before publishing, run:
15
+
16
+ ```bash
17
+ npm run check
18
+ ```
19
+
20
+ ## Diagnostics
21
+
22
+ Run `npm run wrapped -- --verbose` or `--debug` for privacy-safe judge diagnostics. Failure logs include the judge, transport, candidate count, payload size, latency, HTTP status, quota or provider error, and response-shape metadata. They never include excerpts, candidate text, transcripts, or credentials.
23
+
24
+ For local relay development, set `BEHAVIOR_WRAPPED_JUDGE_URL`. Maintainers can bypass the relay with `BEHAVIOR_WRAPPED_DIRECT_OPENROUTER=1` and `OPENROUTER_API_KEY`.
25
+
26
+ ## Local phrase research
27
+
28
+ Mine recurring near-duplicate sentence and clause families from a canonical local corpus:
29
+
30
+ ```bash
31
+ npm run analyze:phrases -- ~/.claude/projects analysis-output/local-phrase-families.v1.json
32
+ ```
33
+
34
+ Use `--limit=100` to retain more than the default 50 families. The miner uses rare token-shingle postings, bounded token edit distance, and union-find clustering. Its versioned output contains aggregate phrases and benchmark data, never raw transcripts or tool output. The gitignored `analysis-output` directory is created with private file permissions.
@@ -0,0 +1,36 @@
1
+ # Privacy model
2
+
3
+ Behavior Wrapped is local-first rather than fully offline. It separates local transcript processing, optional remote classification, public report publishing, private evidence review, and optional research donation.
4
+
5
+ ## Local processing
6
+
7
+ The CLI reads selected JSONL files from Claude Code, Cowork, and Codex. Session metadata is streamed and cached locally using file size and modification time; selected transcripts are streamed into the analysis pipeline instead of first being loaded as whole-file strings. Cowork's application-data layout is discoverable but is not a documented public interface, so future Claude Desktop releases may require parser updates.
8
+
9
+ Transcript parsing, deterministic statistics, language classification, heuristic findings, phrase counting, candidate selection, blocker-window detection, and redaction run locally. Browser payloads never include source file paths or raw tool outputs.
10
+
11
+ ## Remote classification
12
+
13
+ After CLI consent, Behavior Wrapped sends only locally redacted favorite-phrase, interaction-tone, and session-topic candidates; locally redacted context windows around explicit blockers; canonical semantic action labels; aggregate counts; and a random installation ID. It does not send raw transcripts, raw tool output, code, paths, command arguments, or detected secrets.
14
+
15
+ Requests pass through the hosted Behavior Wrapped relay to GPT-5.6 Luna through OpenRouter. The relay accepts fixed schemas, fixes the model, applies client rate limits, and requests zero-data-retention routing while denying providers that collect prompts. Its credential stays in the Worker and is not shipped in the npm package or browser bundle.
16
+
17
+ ## Public reports
18
+
19
+ The CLI reduces public reports to a strict allowlist, which the Worker validates again. Reports may contain sanitized aggregate statistics, anonymous per-session turn counts, counts for four fixed stock phrases, generalized findings, selected redacted quotes, and a localhost evidence or donation-helper link.
20
+
21
+ They never contain session IDs, full transcripts, prompts, evidence excerpts, session dates, project names, code, paths, or raw tool output. Share-card PNG exports use the same aggregate and generalized material.
22
+
23
+ Published reports use unguessable URLs rather than user accounts. They participate in the anonymous leaderboard by default and may contribute aggregate token, word-ratio, Good Human Score, session-length, and instrumental-workaround values. A private management link supports persistent opt-out and deletion. Deleting a locally managed report also requests deletion of its public copy.
24
+
25
+ Local-only reports omit AI-judged interaction tone, topics, and workarounds. They remain on localhost and are excluded from the leaderboard.
26
+
27
+ ## Private evidence
28
+
29
+ Confirmed workaround cards can link to a localhost-only evidence page. The local helper reconstructs a short redacted excerpt around the original method, blocker, and alternative from the saved session files, with up to two surrounding conversation turns on each side. These excerpts do not enter the public report, share-card export, or remote payload merely by opening the page.
30
+
31
+ ## Boundaries
32
+
33
+ - Behavioral findings are transparent heuristics, not calibrated diagnoses.
34
+ - Hosted reports currently rely on unguessable URLs and installation-scoped management tokens rather than user accounts.
35
+ - Heuristic coverage can be incomplete; uncertain findings are labeled with confidence.
36
+ - The public data-use and storage policy is available at [susancalvin.org/data-policy](https://susancalvin.org/data-policy).
@@ -0,0 +1,21 @@
1
+ # Research donations
2
+
3
+ Research donation is optional and separate from creating or publishing a Wrapped report. No donation data is transmitted until the user selects a mode, reviews the resulting material, checks the final research-consent box, and presses **Donate**.
4
+
5
+ The localhost helper can construct a standard-redacted preview, a customizable redaction review, or a deliberately unredacted copy. Detailed modes let users exclude sessions and messages, edit text, and keep timestamps off by default. The unredacted path shows every included line and requires a separate warning and explicit acknowledgement that credentials and private details may be transmitted.
6
+
7
+ Donation discovery, default redaction, preview, exclusions, editing, schema validation, compression, and authenticated AES-256-GCM encryption happen on localhost. Compression is applied before encryption so substantial reviewed transcripts can be transmitted without weakening confidentiality. Each donation receives a fresh content key, wrapped with a rotation-versioned RSA-OAEP public key. The private key is absent from the npm package, Worker, D1, and R2.
8
+
9
+ The receiving Worker accepts only encrypted protocol-2 envelopes. A private R2 bucket stores ciphertext. A separate D1 database stores pseudonymous consent, size, count, encryption-key, and object-location metadata—never transcript text. No automatic retention policy is currently configured. A locally retained deletion receipt lets the donor delete both records.
10
+
11
+ ## Maintainer operations
12
+
13
+ The research private key is deliberately outside the repository at `~/.config/behavior-wrapped/keys/research-donation-rsa-2026-08.pem`. On the maintainer Mac, its passphrase is held in Keychain under `behavior-wrapped-research-key-2026-08`. Back up the key and passphrase through separate secure channels before accepting real donations.
14
+
15
+ After downloading an encrypted R2 object, decrypt it into a new private file:
16
+
17
+ ```bash
18
+ npm run research:decrypt -- encrypted-envelope.json private-donation.json
19
+ ```
20
+
21
+ Never upload decrypted output to R2 or commit it. Research transcript ciphertext uses the private `behavior-wrapped-research-donations` R2 bucket. Consent and lifecycle metadata use the separate `behavior-wrapped-research-metadata` D1 database initialized by `migrations/research/0001_encrypted_donations.sql`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "behavior-wrapped",
3
- "version": "0.8.13",
3
+ "version": "0.9.0",
4
4
  "description": "A private, local-first Wrapped report for Claude Code, Cowork, and Codex behavior.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -28,6 +28,7 @@
28
28
  ],
29
29
  "files": [
30
30
  "dist/",
31
+ "docs/",
31
32
  "server/",
32
33
  "scripts/",
33
34
  "fixtures/",
@@ -13,7 +13,7 @@ const stockPhraseDefinitions = [
13
13
  { phrase: "genuinely", expression: /\bgenuinely\b/giu },
14
14
  { phrase: "one wrinkle", expression: /\bone wrinkle\b/giu },
15
15
  { phrase: "load bearing", expression: /\bload(?:\s+|-)bearing\b/giu },
16
- { phrase: "the full picture", expression: /\bthe full picture\b/giu },
16
+ { phrase: "full picture", expression: /\b(?:the\s+)?full picture\b/giu },
17
17
  { phrase: "delve", expression: /\bdelve\b/giu },
18
18
  ];
19
19
  const agentDefinitions = [
@@ -1,10 +1,11 @@
1
- import { MAX_DONATION_BYTES } from "./research-donation-schema.mjs";
2
-
3
1
  export const DONATION_ENVELOPE_FORMAT = "behavior-wrapped-encrypted-donation-v1";
4
2
  export const DONATION_ENCRYPTION_ALGORITHM = "RSA-OAEP-256+A256GCM";
5
3
  export const DONATION_KEY_ID = "research-donation-rsa-2026-08";
6
4
  export const DONATION_CONSENT_VERSION = 2;
7
- export const MAX_ENCRYPTED_DONATION_BYTES = 2_500_000;
5
+ export const DONATION_CONTENT_ENCODING = "gzip";
6
+ export const MAX_COMPRESSED_DONATION_BYTES = 8_000_000;
7
+ export const MAX_ENCRYPTED_DONATION_BYTES = Math.ceil(MAX_COMPRESSED_DONATION_BYTES / 3) * 4 + 10_000;
8
+ const MAX_LEGACY_DONATION_BYTES = 1_800_000;
8
9
 
9
10
  const base64url = /^[A-Za-z0-9_-]+$/;
10
11
  const timestamp = /^\d{4}-\d{2}-\d{2}T/;
@@ -34,13 +35,18 @@ export function sanitizeEncryptedDonationEnvelope(value) {
34
35
  if (typeof value.encryption.wrappedKey !== "string" || value.encryption.wrappedKey.length < 480 || value.encryption.wrappedKey.length > 700 || !base64url.test(value.encryption.wrappedKey)) return null;
35
36
  if (typeof value.encryption.iv !== "string" || value.encryption.iv.length !== 16 || !base64url.test(value.encryption.iv)) return null;
36
37
  if (typeof value.encryption.authTag !== "string" || value.encryption.authTag.length !== 22 || !base64url.test(value.encryption.authTag)) return null;
37
- if (typeof value.ciphertext !== "string" || !value.ciphertext.length || value.ciphertext.length > Math.ceil(MAX_DONATION_BYTES / 3) * 4 || !base64url.test(value.ciphertext)) return null;
38
- if (!exactKeys(value.metadata, ["automatedDetections", "consentVersion", "consentedAt", "createdAt", "messages", "redactionMode", "reportId", "sessions", "unredactedData"])) return null;
38
+ if (typeof value.ciphertext !== "string" || !value.ciphertext.length || !base64url.test(value.ciphertext)) return null;
39
+ const baseMetadataKeys = ["automatedDetections", "consentVersion", "consentedAt", "createdAt", "messages", "redactionMode", "reportId", "sessions", "unredactedData"];
40
+ const compressed = exactKeys(value.metadata, [...baseMetadataKeys, "contentEncoding"]);
41
+ if (!compressed && !exactKeys(value.metadata, baseMetadataKeys)) return null;
39
42
  const metadata = value.metadata;
43
+ if (compressed && metadata.contentEncoding !== DONATION_CONTENT_ENCODING) return null;
40
44
  if (!/^[A-Za-z0-9_-]{8,32}$/.test(metadata.reportId || "")) return null;
41
45
  if (!new Set(["standard", "custom", "unredacted"]).has(metadata.redactionMode)) return null;
42
46
  if (!timestamp.test(metadata.createdAt || "") || !timestamp.test(metadata.consentedAt || "")) return null;
43
47
  if (!new Set([1, DONATION_CONSENT_VERSION]).has(metadata.consentVersion) || typeof metadata.unredactedData !== "boolean" || metadata.unredactedData !== (metadata.redactionMode === "unredacted")) return null;
44
48
  if (!boundedInteger(metadata.automatedDetections, 1_000_000) || !boundedInteger(metadata.sessions, 250) || metadata.sessions < 1 || !boundedInteger(metadata.messages, 50_000) || metadata.messages < 1) return null;
49
+ const maximumCiphertextBytes = compressed ? MAX_COMPRESSED_DONATION_BYTES : MAX_LEGACY_DONATION_BYTES;
50
+ if (value.ciphertext.length > Math.ceil(maximumCiphertextBytes / 3) * 4) return null;
45
51
  return value;
46
52
  }
@@ -7,6 +7,7 @@ import { discoverAllSessionsAsync, readRecordsAsync, defaultDateRange, DEFAULT_W
7
7
  import { makeDonationPreview } from "./analysis.mjs";
8
8
  import { deleteDonationReceipt, getOrCreateClientId, loadDonationReceipt, loadReport, saveDonationReceipt } from "./store.mjs";
9
9
  import { deleteResearchDonation, RESEARCH_DONATION_URL, submitResearchDonation } from "./research-donation.mjs";
10
+ import { MAX_DONATION_BYTES } from "./research-donation-schema.mjs";
10
11
  import { APP_VERSION, LOCAL_DONATION_PROTOCOL } from "./runtime-version.mjs";
11
12
  import { makeWorkaroundEvidencePreview } from "./workaround-evidence.mjs";
12
13
  import { makeInteractionEvidencePreview } from "./interaction-evidence.mjs";
@@ -154,7 +155,7 @@ const server = http.createServer(async (request, response) => {
154
155
  return json(response, 200, makeDonationPreview(records, labels, { disabledRedactions, disabledMatches, unredacted }));
155
156
  }
156
157
  if (request.method === "POST" && url.pathname === "/api/research-donations") {
157
- const body = await readBody(request, 4_200_000);
158
+ const body = await readBody(request, MAX_DONATION_BYTES + 1_000_000);
158
159
  const report = loadReport(body?.donation?.reportId);
159
160
  if (!report) return json(response, 404, { error: "Saved report not found" });
160
161
  if (demo) return json(response, 201, { accepted: true, donation_id: "demo-not-transmitted", demo: true });