/* Visual refresh: all report and extraction behavior remains in existing modules. */
@font-face{font-family:Heebo;src:url('/assets/fonts/Heebo-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Heebo;src:url('/assets/fonts/Heebo-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Heebo;src:url('/assets/fonts/Heebo-Black.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--ink:#073e30;--paper:#f9faf2;--cream:#fffffa;--lime:#d2f66c;--line:#d4e4d8;font-family:Heebo,Arial,sans-serif;background:var(--paper)}
body{background:radial-gradient(ellipse at 90% 0,#e5f4d4 0,transparent 33%),var(--paper)}
.page{max-width:1240px;padding:0 42px}h1,h2,h3,.brand{font-weight:900}h1,h2,h3{letter-spacing:-1.5px}p{line-height:1.7}.header{padding:25px 0 30px}.brand{font-size:32px;letter-spacing:-1.8px}.brand-mark{background:var(--lime);border:0;box-shadow:none;border-radius:13px 13px 3px 13px;font-size:25px;width:40px;height:44px}.brand-dot{color:#278d46}.header-actions{background:transparent;border:0;padding:0;gap:14px}.header-actions #open-account{border-radius:50px;padding:12px 23px}.header #motion{font-size:12px}.quiet{background:transparent}.primary,.hero-cta{border-radius:40px;background:#116744;color:#fff;border:0;box-shadow:none;font-weight:700;padding:17px 27px;transition:transform .2s,background .2s}.primary:hover:not(:disabled),.hero-cta:hover{background:#064c33;box-shadow:0 8px 22px #0a503520;transform:translateY(-2px)}
.hero{position:relative;isolation:isolate;grid-template-columns:1.05fr 1fr;gap:12px;background:none;border:0;box-shadow:none;padding:36px 0 70px;border-radius:0;min-height:660px}.hero-copy{position:relative;z-index:2}.hero .sticker{background:#e0efcf;border:0;border-radius:30px;transform:none;padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:.3px}.hero h1{font-size:clamp(58px,6.5vw,86px);line-height:1.04;letter-spacing:-3.7px;margin:25px 0}.hero h1 span{color:#21804c;background:none;padding:0}.hero p{font-size:21px;line-height:1.6;margin:25px 0}.hero-cta{display:inline-flex;gap:40px;align-items:center;font-size:20px;text-decoration:none}.hero-cta span{font-size:28px;line-height:1}.trust{font-size:12px;margin-top:17px}.trust span{padding:0 6px}.hero-art{height:535px;width:100%;max-width:none;margin:0;position:relative;grid-row:auto}.orbit{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.orbit-one{background:#dfefcb;width:420px;height:420px;top:50px;left:-8px}.orbit-two{background:#c9eaa0;width:170px;height:170px;bottom:0;right:-8px}.hero-star{position:absolute;left:10px;top:0;font-size:100px;line-height:1;color:#27865c;transform:rotate(-12deg)}.hero-preview{position:absolute;top:56px;left:28px;width:310px;background:#fffefa;border-radius:32px;padding:25px 23px;box-shadow:0 25px 65px #073e3020;transform:rotate(-8deg);border:1px solid #fff;z-index:1}.preview-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.2px}.preview-ring{width:236px;height:236px;background:conic-gradient(#0b6544 0 66%,#b3dd76 66% 86%,#f3cf78 86%);border-radius:50%;padding:29px;margin:24px auto}.preview-ring>div{border-radius:50%;height:100%;background:#fffefa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.preview-ring span{font-size:13px}.preview-ring strong{font-size:30px;font-weight:900;letter-spacing:-1px}.preview-ring small{font-size:11px}.preview-keys{display:flex;gap:12px;justify-content:center;font-size:11px}.preview-keys span{display:flex;gap:4px;align-items:center}.preview-keys i{width:8px;height:8px;border-radius:50%;background:#0b6544}.preview-keys span:nth-child(2) i{background:#b3dd76}.preview-keys span:nth-child(3) i{background:#f3cf78}.hero-art .friend{position:absolute;bottom:-2px;right:-5px;max-width:none;width:260px;height:260px;z-index:2;filter:drop-shadow(0 16px 18px #0b503314)}.hero-art .art-sticker{position:absolute;bottom:12px;left:5px;z-index:3;transform:rotate(7deg);border:0;background:var(--lime);border-radius:23px 23px 23px 3px;font-size:18px;padding:15px 23px;margin:0;line-height:1.5;box-shadow:0 10px 30px #073e3010}
.upload-panel{position:relative;max-width:none;margin:8px 0 0;padding:42px 30px;background:#e8f2de;border:1px solid #cfdfc7;border-radius:32px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:35px;text-align:right;align-items:center;scroll-margin-top:25px}.upload-panel .mini-icon{position:absolute;right:-12px;top:-22px;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--lime);font-size:37px;transform:rotate(12deg);box-shadow:0 5px 0 #fcfaf1}.upload-panel h2{font-size:34px;margin:0;grid-column:1;grid-row:1}.upload-panel>p:not(.small){grid-column:1;grid-row:2;margin:7px 0}.upload-panel .primary{grid-column:2;grid-row:1/3;width:100%;margin:0;max-width:none;min-height:64px;font-size:20px}.upload-panel .small{grid-column:2;grid-row:3;text-align:center;font-size:11px;margin:10px 0 0}.upload-panel .text-button{grid-column:1;grid-row:3;text-align:right;justify-self:start;padding:0;min-height:35px;font-weight:700}.privacy-row{max-width:850px;margin:25px auto 70px}.privacy-row p{font-size:12px}.privacy-symbol{border:0;background:#dcebcf}.story-band{background:#073e30;color:#fffdf2;border-radius:65px 20px 65px 20px;padding:55px 45px 42px;position:relative;overflow:hidden;isolation:isolate}.story-band:before{content:'';position:absolute;width:450px;height:450px;border:70px solid #15543f;border-radius:50%;top:-260px;left:-130px;z-index:-1}.story-heading h2{font-size:clamp(32px,4.3vw,52px);line-height:1.15;margin:15px 0}.story-heading h2 span{color:var(--lime)}.story-heading p{font-size:16px}.story-heading .eyebrow{color:#c1e6c2;letter-spacing:1px}.features{gap:35px;margin:40px 0 0}.features article{border-top:1px solid #56816a;padding:22px 0 0}.feature-number{font-size:28px;font-weight:900;color:var(--lime)}.features h3{font-size:25px;margin:10px 0}.features p{color:#e4f0df;font-size:14px}.design-outro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;padding:65px 35px;gap:30px}.design-outro h2{font-size:52px;line-height:1.15;margin:16px 0}.design-outro h2 span{color:#21804c}.design-outro img{width:100%;max-width:300px;height:auto;justify-self:center;background:#e4f0d2;border-radius:50% 50% 15% 50%}.design-outro p{font-size:17px}.eyebrow{font-weight:700;letter-spacing:.5px}.faq-heading{margin:15px 0 25px}.faq-heading h2{font-size:36px;margin:8px 0}.faq{padding:11px 4px}.faq summary{font-size:18px}.faq p{font-size:15px}footer{padding:35px 0;color:#164a38}footer>span{font-size:12px}
/* Application surfaces use the same palette and typography, with quiet data rows. */
#result{max-width:850px}.panel{border-radius:25px;background:#fffffc;border-color:#d9e5d6;padding:28px;margin:24px 0}h2{font-size:28px}.salary-hero{background:#073e30;color:#fffef3;border:0;border-radius:32px 32px 8px 32px;box-shadow:none;padding:34px}.salary-hero strong{color:#d2f66c;font-weight:900;font-size:60px;line-height:1.2}.month-tag{background:#d2f66c;color:#073e30;border:0;border-radius:18px;transform:rotate(-3deg)}.chart-panel{border:1px solid #c2d7c6;background:linear-gradient(145deg,#f0f7e7,#fffffc 65%)}.chart-panel h2{font-size:34px}.profile-item{background:#e8f2df;border-radius:17px;padding:23px 12px}.profile-item strong{font-weight:900;font-size:29px}.profile-item:nth-child(3n+2){background:#e2eee8}.profile-item:nth-child(3n+3){background:#f4efdb}.fund-card{background:#edf5e4;border:0;border-radius:23px}.savings-total{background:#d2f66c}.fund-total{font-weight:900}.coming{border:0;border-radius:30px;background:#e0efc9;padding:30px}.coming h2{font-size:32px}.section-top h1{font-size:44px}.account-card{background:#e0efc9;border:0;border-radius:40px 40px 10px 40px;box-shadow:none;padding:35px}.account-card h1{font-size:48px;line-height:1.15}.account-benefits strong{font-size:23px}.portal-welcome h1{font-size:48px}.portal-tabs{border-radius:30px;background:#e5eddc;padding:7px}.portal-tabs button{border-radius:24px;font-weight:700}.portal-money{background:#073e30;color:#fffef3;box-shadow:none;border:0;border-radius:28px;padding:30px}.portal-money .portal-big{color:#d2f66c;font-weight:900}.portal-money .portal-pill{color:#073e30;background:#d2f66c}.portal-mini{background:#e5efda;border:0;border-radius:28px}.portal-mini>strong{font-weight:900}.portal-bar-track{background:#e9f1e3}.portal-bar-track i{background:#478a5c;border:0}.portal-bar:last-child i{background:#b9e467}.work-surface{border:0;background:#e5f1d8;border-radius:40px;padding:45px}.work-surface h1{font-weight:900}.result-toolbar .quiet{border-radius:25px!important}.legend-values bdi{font-weight:700}.donut-center strong{font-family:Heebo,Arial,sans-serif}
@media(max-width:900px){.page{padding:0 25px}.hero{min-height:580px}.hero h1{font-size:65px}.hero-art{height:470px}.hero-preview{width:260px;left:10px;padding:20px 15px}.preview-ring{width:210px;height:210px;padding:26px}.hero-art .friend{width:220px;height:220px;right:-15px}.orbit-one{width:320px;height:320px}.hero-art .art-sticker{font-size:15px;left:-5px}.header-actions{gap:2px}.header-actions .quiet{font-size:12px;padding:10px}}
@media(max-width:700px){.page{padding:0 20px}.header{padding:18px 0 10px;gap:14px}.header .brand{font-size:28px}.header-actions{background:#e6eedc;border-radius:30px;padding:5px;gap:7px}.header-actions .quiet{border-radius:25px;font-size:12px}.header-actions #open-account{padding:11px}.hero{grid-template-columns:1fr;gap:0;padding:25px 0 45px;min-height:0}.hero-copy{text-align:center}.hero h1{font-size:clamp(52px,11.5vw,76px);line-height:1.03;letter-spacing:-2.7px;margin:22px 0}.hero p{font-size:18px;margin:20px 0}.hero .sticker{font-size:12px}.hero-cta{font-size:18px;gap:40px}.hero-art{grid-row:auto;height:410px;width:340px;max-width:100%;margin:24px auto 0}.hero-preview{top:25px;left:25px;width:250px}.preview-ring{width:200px;height:200px}.preview-ring strong{font-size:27px}.hero-star{font-size:70px;left:0;top:0}.orbit-one{width:300px;height:300px;top:45px;left:10px}.orbit-two{width:130px;height:130px;right:-10px;bottom:10px}.hero-art .friend{width:190px;height:190px;right:-5px;bottom:-5px}.hero-art .art-sticker{left:0;bottom:15px;font-size:14px;padding:13px 17px}.upload-panel{display:flex;flex-direction:column;text-align:center;padding:40px 20px 25px;border-radius:28px;gap:5px}.upload-panel h2{font-size:30px}.upload-panel .primary{margin:16px 0 0;min-height:60px;font-size:18px}.upload-panel .small{font-size:10px}.upload-panel .text-button{align-self:center;text-align:center;margin:8px 0 0;font-size:13px}.upload-panel .mini-icon{width:52px;height:52px;right:13px;font-size:30px}.privacy-row{margin:22px 0 40px}.privacy-row p{font-size:11px}.story-band{padding:38px 25px;border-radius:40px 15px 40px 15px}.story-heading h2{font-size:34px}.story-heading p{font-size:14px}.features{grid-template-columns:1fr;gap:22px;margin-top:30px}.features article{display:grid;grid-template-columns:45px 1fr;gap:0 12px;padding-top:20px;align-items:start}.feature-number{grid-row:1/3;font-size:28px}.features h3{font-size:23px;margin:0}.features p{grid-column:2;font-size:13px;margin:5px 0 0}.design-outro{grid-template-columns:1fr;gap:20px;padding:48px 8px;text-align:center}.design-outro h2{font-size:39px}.design-outro img{max-width:230px}.design-outro p{font-size:15px}.faq-heading h2{font-size:31px}.faq summary{font-size:16px}.faq p{font-size:14px}.panel{padding:22px 16px;border-radius:23px}.salary-hero{padding:25px 20px}.salary-hero strong{font-size:42px}.chart-panel h2{font-size:28px}.section-top h1{font-size:34px}.portal-welcome h1{font-size:35px}.account-card h1{font-size:38px}.account-card{padding:28px 20px}.portal-tabs{border-radius:18px}.portal-tabs button{border-radius:13px;font-size:13px}.portal-money{padding:24px}.portal-big{font-size:46px}.coming h2{font-size:27px}.profile-item strong{font-size:26px}.donut-center strong{font-size:21px}}
@media print{body{background:white}.hero-cta,.hero-art,.story-band,.design-outro{display:none}.salary-hero{background:#e5efce;color:#073e30}.salary-hero strong{color:#073e30}.panel{background:white}.page{padding:0}.portal-money{background:#e5efce;color:#073e30}.portal-money .portal-big{color:#073e30}}
@media(max-width:700px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy,.hero-art{min-width:0}.hero-art{width:min(340px,100%)}.orbit-one{max-width:100%;left:0}.orbit-two{right:0}.hero-preview{max-width:calc(100% - 30px)}.salary-hero{flex-wrap:wrap}.salary-hero>div{min-width:0;max-width:100%}.salary-hero strong{font-size:clamp(28px,8vw,42px);overflow-wrap:anywhere}.header-actions{min-width:0}.header-actions .quiet{min-width:0}.chart-layout{min-width:0}.portal-welcome{flex-wrap:wrap}}
@media(max-width:360px){.page{padding:0 15px}.hero h1{font-size:45px;letter-spacing:-2.2px}.hero p{font-size:16px}.hero-art{height:370px}.hero-preview{left:15px;width:235px;padding:20px 12px}.preview-ring{width:185px;height:185px;padding:24px}.preview-ring strong{font-size:24px}.hero-art .friend{width:165px;height:165px;right:0}.hero-art .art-sticker{font-size:12px;left:0;padding:11px 14px}.hero-star{font-size:55px}.hero-cta{font-size:17px;gap:25px}.header .brand{font-size:24px}.header #motion{font-size:10px;padding:7px}.header-actions .quiet{font-size:11px}.story-heading h2{font-size:29px}.story-band{padding:32px 20px}.design-outro h2{font-size:34px}.chart-panel h2{font-size:25px}.salary-hero{padding:22px 16px}}
#portal .portal-money p,#portal .portal-money small{color:#fffef3}.portal-money .portal-micro-insight{border-color:#a8d66e}.portal-money .portal-trust{border:0;border-radius:15px;background:#e4efda}.portal-money .portal-link{color:#d2f66c}
@media print{#portal .portal-money p{color:#073e30}}
/* Report edition: decorative elements stay outside numerical content. */
.salary-hero{position:relative;isolation:isolate;overflow:hidden;padding:36px 34px;min-height:175px}.salary-hero>div,.salary-hero .month-tag{position:relative;z-index:1}.salary-decoration{position:absolute;left:25%;top:-35px;font-size:210px;line-height:1;color:#145640;z-index:-1;transform:rotate(12deg);pointer-events:none}.salary-hero strong{letter-spacing:-2px}.report-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.8px;color:#347051;margin-bottom:10px}.chart-panel{padding:32px;background:#edf5e4;border:0;box-shadow:0 12px 40px #123b2d06}.chart-panel h2{font-size:38px;line-height:1.18}.chart-layout{margin:38px 0;gap:50px}.donut{width:280px;height:280px;box-shadow:0 15px 30px #123b2d0b}.donut-center{width:204px;height:204px;background:#fffffa}.donut-center>span:first-child{font-size:17px;font-weight:700}.donut-center strong{font-weight:900;font-size:31px;max-width:calc(100% - 28px)}.chart-friend{width:185px}.chart-friend img{width:175px;height:175px}.chart-friend p{font-size:15px;font-weight:700;line-height:1.6}.legend-detail{background:#fffffa;border-radius:14px;margin:8px 0;padding:0 16px}.legend-detail .legend-row{border:0;padding:16px 0;font-weight:400}.legend-detail .pct{background:#e7f2d7;color:#174b35;border-radius:20px;font-weight:700}.legend-detail[open]{box-shadow:0 0 0 1px #9fbc8d}.legend-detail .field-explanation{border-top:1px solid #dae6d3;padding:12px 0 15px}.swatch{border-radius:50%}#profile-panel{border:0;background:#fffefa;padding:30px}#profile-panel h2{font-size:32px}.profile-grid{gap:13px;margin-top:24px}.profile-item{padding:22px 12px;border-radius:20px}.profile-item strong{font-size:34px;font-weight:900}.fund-card{padding:26px;background:#e5f0db;border-radius:25px;border:1px solid #d0e1c4}.fund-card>h3{font-size:34px}.fund-total{font-size:42px;letter-spacing:-1px}.market-panel{border-radius:19px;background:#fffffa}.savings-total{border-radius:24px;padding:28px}.savings-total h3{font-size:32px}.coming{padding:32px;border-radius:30px;background:#d9edb8}.coming h2{font-size:33px}.result-toolbar{padding-top:12px}.result-toolbar #result-label{font-weight:700}.result-toolbar #print-report{background:#0b6846;color:#fffef3;border:0;padding:12px 20px}
/* A looping illustration, never a simulated progress percentage. */
#working{padding:25px 0 50px}.work-surface{position:relative;max-width:760px;padding:36px 45px 28px;border-radius:45px;background:radial-gradient(ellipse at 50% 35%,#dff2c3,transparent 60%),#f1f7e8;overflow:hidden}.work-surface>.sticker{border:0;background:#d5eabe;border-radius:30px;transform:none;padding:8px 17px;font-weight:700;font-size:12px}.work-surface h1{font-size:53px;line-height:1.12;margin:12px 0 20px;letter-spacing:-2px}.work-surface h1 span{color:#27804c}.work-surface>.small{max-width:440px;margin:20px auto;font-size:12px}.read-animation{position:relative;width:390px;max-width:100%;height:270px;margin:20px auto 5px;isolation:isolate}.read-orbit{position:absolute;width:240px;height:240px;border:1px dashed #7caa69;border-radius:50%;left:70px;top:10px;animation:read-orbit 22s linear infinite;z-index:-1}.read-orbit:before,.read-orbit:after{content:'';position:absolute;width:15px;height:15px;background:#b2da69;border-radius:50%;top:20px;left:37px}.read-orbit:after{left:auto;top:auto;bottom:20px;right:37px;width:9px;height:9px;background:#12694b}.read-sheet{position:absolute;width:126px;height:164px;background:#fffef8;border-radius:15px 15px 8px 8px;top:35px;right:28px;box-shadow:0 14px 25px #124a2e19;transform:rotate(9deg);padding:20px 18px;overflow:hidden;animation:read-sheet-float 4s ease-in-out infinite}.read-sheet-brand{font-weight:900;font-size:24px;background:#d2f66c;border-radius:8px;width:30px;height:34px;margin-bottom:14px}.read-sheet i{display:block;height:5px;background:#b8cbb4;border-radius:4px;margin:8px 0}.read-sheet i:nth-of-type(2){width:70%}.read-sheet i:nth-of-type(4){width:80%;background:#7eab64}.scan-beam{position:absolute;left:0;right:0;top:0;height:3px;background:#35ac68;box-shadow:0 0 16px #75d58e,0 -18px 25px 15px #a8e69550;animation:scan-read 3.4s ease-in-out infinite}.read-result{position:absolute;top:52px;left:25px;width:135px;height:155px;border-radius:22px;background:#073e30;transform:rotate(-9deg);padding:18px;box-shadow:0 15px 25px #124a2e1c;animation:read-result-float 4s ease-in-out infinite}.read-ring{width:76px;height:76px;margin:0 auto;border-radius:50%;background:conic-gradient(#d2f66c 0 68%,#6ba87a 68% 88%,#f3d280 88%);position:relative;animation:read-ring-turn 6s ease-in-out infinite}.read-ring:after{content:'✓';position:absolute;inset:15px;background:#073e30;border-radius:50%;display:grid;place-items:center;color:#d2f66c;font-size:25px}.read-bars{display:flex;height:26px;gap:6px;align-items:end;justify-content:center;margin-top:13px}.read-bars i{width:19px;background:#b7dc83;border-radius:4px 4px 0 0;height:60%;transform-origin:bottom;animation:read-bar 2s ease-in-out infinite}.read-bars i:nth-child(2){height:85%;animation-delay:.25s}.read-bars i:nth-child(3){height:100%;animation-delay:.5s}.read-transfer{position:absolute;top:104px;right:170px;font-size:27px;color:#368454;animation:read-transfer 3.4s ease-in-out infinite}.read-star{position:absolute;left:3px;top:10px;color:#2e8d5c;font-size:51px;animation:read-star 7s ease-in-out infinite}.work-surface .read-friend{position:absolute;bottom:0;right:126px;width:120px;height:120px;object-fit:contain;margin:0;animation:friend-wave 4s ease-in-out infinite}.read-status{display:flex;align-items:center;gap:12px;justify-content:center;background:#fffef8;border:1px solid #d4e4c9;border-radius:18px;min-height:64px;padding:12px 18px;max-width:500px;margin:auto}.read-status p{font-size:15px;font-weight:700;margin:0;text-align:right}.status-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#267e4d;box-shadow:0 0 0 5px #e3f1d4;animation:read-pulse 1.6s ease-in-out infinite}
@keyframes scan-read{0%,100%{transform:translateY(22px);opacity:0}15%,85%{opacity:1}50%,85%{transform:translateY(145px)}}@keyframes read-orbit{to{transform:rotate(360deg)}}@keyframes read-sheet-float{50%{transform:translateY(-7px) rotate(5deg)}}@keyframes read-result-float{50%{transform:translateY(6px) rotate(-5deg)}}@keyframes read-ring-turn{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes read-bar{50%{transform:scaleY(.5)}}@keyframes read-transfer{0%,15%{transform:translateX(10px) scale(.5);opacity:0}50%{opacity:1}85%,100%{transform:translateX(-20px) scale(1.2);opacity:0}}@keyframes read-star{50%{transform:rotate(45deg)}}@keyframes read-pulse{50%{box-shadow:0 0 0 8px #e3f1d4}}
@media(max-width:700px){.salary-hero{min-height:160px;padding:26px 22px}.salary-decoration{font-size:175px;left:20%;top:-15px}.chart-panel{padding:25px 16px}.chart-panel h2{font-size:30px}.chart-layout{gap:15px;margin:30px 0;flex-wrap:wrap}.donut{width:220px;height:220px}.donut-center{width:160px;height:160px}.donut-center>span:first-child{font-size:14px}.donut-center strong{font-size:24px}.chart-friend{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;text-align:right}.chart-friend img{width:80px;height:80px}.chart-friend p{max-width:190px;font-size:13px}.legend-detail{padding:0 10px}.legend-detail .legend-row{padding:14px 0}.legend-row .name{font-size:12px}.legend-values bdi{font-size:12px}#profile-panel{padding:24px 16px}#profile-panel h2{font-size:28px}.profile-item strong{font-size:29px}.fund-card{padding:21px 16px}.fund-card>h3{font-size:30px}.fund-total{font-size:35px}.savings-total h3{font-size:26px}.coming{padding:26px 20px}.coming h2{font-size:28px}.work-surface{padding:28px 18px;border-radius:30px}.work-surface h1{font-size:41px}.read-animation{width:310px;height:245px}.read-sheet{right:8px;top:30px;width:107px;height:150px;padding:15px}.read-result{left:8px;width:118px;height:145px;padding:15px}.read-ring{width:70px;height:70px}.read-orbit{left:38px;width:220px;height:220px}.read-transfer{right:135px}.work-surface .read-friend{right:92px;width:108px;height:108px}.read-star{font-size:42px;left:0}.read-status p{font-size:13px}.work-surface>.sticker{font-size:10px}.work-surface>.small{font-size:11px}}
@media(max-width:360px){.read-animation{height:235px}.read-sheet{right:0;width:98px}.read-result{left:0;width:106px}.read-orbit{width:190px;height:190px;left:15px}.work-surface .read-friend{right:63px}.read-transfer{right:110px;font-size:20px}.work-surface h1{font-size:35px}.chart-panel h2{font-size:26px}.legend-detail .legend-row{grid-template-columns:minmax(0,1fr) 121px 12px;gap:4px}.legend-values{grid-template-columns:78px 39px;gap:4px}.legend-values bdi{font-size:10px}.legend-values .pct{width:39px;font-size:10px}.salary-hero strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){.read-animation *,.status-dot{animation:none!important}.scan-beam{top:75px;opacity:.7}.read-transfer{opacity:1}}
@media print{.salary-decoration,.report-kicker,#working{display:none!important}.chart-panel{box-shadow:none;background:white}.legend-detail{break-inside:avoid}.donut{box-shadow:none}}
.salary-hero .salary-decoration{z-index:0;font-size:210px;color:#145640;opacity:.7}
@media(max-width:700px){.salary-hero .salary-decoration{font-size:175px}}

/* Editorial report polish: clear hierarchy, small visual guides, generous rhythm. */
#result{padding-bottom:40px}.result-toolbar{padding:16px 0;gap:18px}.result-toolbar>div{gap:8px}.result-toolbar #print-report{background:var(--ink);color:var(--cream);border-color:var(--ink);padding:12px 22px;font-weight:700}.salary-hero{box-shadow:0 16px 35px #073e3010}.report-kicker{display:inline-block;border-radius:30px;background:#dfeccf;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.2px}.chart-panel h2,#profile-panel h2,.savings-rich>h2{margin:16px 0 9px;line-height:1.25}.chart-panel{box-shadow:0 12px 35px #073e3007}.chart-friend p{background:#e1efce;border-radius:20px 20px 4px 20px;padding:14px 18px}.legend-detail{border-color:#dbe5d5;transition:border-color .2s,box-shadow .2s}.legend-detail:hover,.legend-detail[open]{border-color:#7eac79;box-shadow:0 5px 16px #073e3008}.legend-track{display:block;height:4px;background:#eef3e9;border-radius:8px;margin:0 0 12px;overflow:hidden}.legend-track i{display:block;height:100%;border-radius:8px}.legend-detail:first-child{background:#e9f3db;border-color:#c7dfac}.legend-detail:first-child .legend-values bdi{font-size:19px}.legend-detail[open] .field-explanation{border-top:1px dashed #bccfb3;padding-top:14px}.profile-item{border:1px solid #d3e2ca;box-shadow:0 4px 0 #e3ebdc}.profile-item strong{margin-top:12px;font-size:36px}.savings-rich{position:relative;background:#f1f5e8;padding-top:32px}.savings-rich>h2{max-width:72%;font-size:34px}.savings-rich>.small{max-width:74%}.savings-illustration{position:absolute;left:25px;top:28px;width:120px;height:120px;object-fit:contain;border-radius:50%;background:#deebc9}.fund-card{background:#fffff9;border:1px solid #d7e2cb;padding:26px;margin-top:22px}.fund-card>h3{font-size:30px;margin:9px 0 22px}.fund-card>.eyebrow{background:#e3f0d1;border-radius:20px;padding:5px 12px;font-size:12px}.fund-total{font-size:44px;letter-spacing:-1.5px;line-height:1.2}.fund-card>.savings-row{padding:13px 0;border-bottom:1px dashed #d4e2cb}.fund-card>.savings-row bdi{font-weight:700}.fund-card>details{margin-top:15px}.savings-total{border:0;border-radius:24px;padding:25px}.savings-total h3{font-size:30px}.check{padding:17px;border:1px solid #d5e2cc;background:#f2f7e9;border-radius:15px;margin:10px 0;align-items:center}.check:has(input:checked){background:#dff0c7;border-color:#91ba71}.check input{accent-color:#176446;width:20px;height:20px;flex-shrink:0}.result-toolbar .quiet:focus-visible,.legend-detail summary:focus-visible{outline:3px solid #21804c;outline-offset:4px}
@media(max-width:700px){.result-toolbar>div{display:flex;flex-wrap:wrap}.result-toolbar #print-report{padding:11px 18px}.savings-rich>h2{font-size:28px;max-width:100%;padding-left:0}.savings-illustration{position:static;display:block;width:90px;height:90px;margin:0 0 18px}.savings-rich>.small{max-width:100%}.fund-card{padding:22px 17px}.fund-total{font-size:36px}.profile-item strong{font-size:30px}.legend-detail:first-child .legend-values bdi{font-size:13px}.check{padding:14px;font-size:14px}.chart-friend p{padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.legend-detail{transition:none}}
/* Final reveal: net pay leads, source gross stays visible. */
.salary-hero{position:relative;align-items:center;gap:25px;padding:36px 38px;min-height:260px;overflow:hidden}.salary-hero .net-spotlight{flex:1;min-width:0;z-index:1}.net-eyebrow{font-size:13px;color:#ddedce}.net-spotlight h1{font-size:30px;letter-spacing:-1px;margin:9px 0 5px;line-height:1.15}.salary-hero #hero-net-value{display:block;font-size:clamp(38px,5.2vw,66px);font-weight:900;letter-spacing:-2px;line-height:1.2;overflow-wrap:anywhere}.net-caption{display:block;font-size:12px;margin-top:10px;color:#e6f1d9}.salary-side{display:flex;flex-direction:column;align-items:flex-start;gap:18px;z-index:1;max-width:40%!important}.gross-context{padding-top:15px;border-top:1px solid #4b7560}.gross-context>span{font-size:12px;color:#e6f1d9}.salary-hero #gross-value{display:block;font-size:25px;font-weight:700;letter-spacing:-.6px;color:#fffef3;overflow-wrap:anywhere;margin-top:5px}.hero-receipt{position:absolute;left:calc(43% - 45px);bottom:-25px;width:110px;height:110px;object-fit:contain;transform:rotate(-9deg);opacity:.95}.salary-hero .salary-decoration{left:33%;top:-35px;font-size:230px;color:#205b43;opacity:.45}.reveal-skip{position:absolute;bottom:10px;left:18px;border:0;border-radius:20px;background:#e6f1d9;color:#073e30;padding:6px 12px;font:inherit;font-size:11px;z-index:5;cursor:pointer}.reveal-skip[hidden]{display:none}.report-revealing .salary-hero{animation:report-unfold .6s ease-out both;transform-origin:top center}.report-revealing #hero-net-value{animation:net-arrive .5s .12s both}.report-revealing .hero-receipt{animation:receipt-peek .8s .35s both}.report-revealing .donut:not(.no-pie){animation:chart-reveal .8s .5s both}.report-revealing .chart-friend{animation:net-arrive .6s .6s both}
@keyframes report-unfold{from{opacity:.35;transform:translateY(12px) perspective(900px) rotateX(-5deg)}to{opacity:1;transform:none}}
@keyframes net-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes chart-reveal{from{clip-path:circle(0 at 50% 50%);transform:scale(.94)}to{clip-path:circle(72% at 50% 50%);transform:scale(1)}}
@keyframes receipt-peek{from{transform:translateY(65px) rotate(-18deg);opacity:0}to{transform:translateY(0) rotate(-9deg);opacity:.95}}
@media(max-width:700px){.salary-hero{padding:28px 23px 35px;gap:22px;min-height:0}.salary-hero .net-spotlight{flex-basis:100%}.net-spotlight h1{font-size:28px}.salary-hero #hero-net-value{font-size:clamp(33px,9.5vw,57px);letter-spacing:-1.4px}.salary-side{width:100%;max-width:100%!important;flex-direction:row;align-items:center;gap:20px;justify-content:space-between}.salary-side .month-tag{font-size:12px;padding:9px 12px;flex-shrink:0}.gross-context{padding:0;border:0;max-width:55%}.gross-context>span{font-size:10px}.salary-hero #gross-value{font-size:21px}.hero-receipt{left:10px;top:12px;bottom:auto;width:80px;height:80px;opacity:.8}.salary-hero .salary-decoration{left:0;top:55px;font-size:200px}.net-eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.report-revealing *{animation:none!important}}.paused .report-revealing *{animation:none!important}
@media(max-width:360px){.salary-side{gap:12px}.salary-hero #gross-value{font-size:17px}.gross-context>span{font-size:9px}}

/* Readability pass: ivory net row and muted savings summary. */
#legend .legend-detail:first-child{background:#fffdf4;border:1px solid #82ad95;border-inline-start:5px solid #237552;box-shadow:0 3px 12px #073e300a}
#legend .legend-detail:first-child .name{font-weight:700}
#legend .legend-detail:first-child .pct{background:#dcebe3;color:#073e30}
#legend .legend-detail:first-child .legend-track{background:#e2e9e2}
#result .savings-total{background:#e1ece7;border:1px solid #bdd2c6;color:#073e30}
#result .savings-total h3{font-weight:700;letter-spacing:-.5px}
#result .savings-total .savings-row{border-color:#b8cec1}
