/* Kasvara Finly v2 — playful premium, respecting the original Kasvara mark. */
:root{--ink:#f9f8ff;--muted:#b9bcdb;--line:#ffffff22;--violet:#a78bfa;--lime:#d5ff71;--cyan:#69f4e9;--pink:#ff9dcc;color-scheme:dark}
html{scroll-behavior:smooth}
body{background:radial-gradient(ellipse at 92% 5%,#7a4fee46 0%,transparent 34%),radial-gradient(ellipse at 1% 48%,#10bdc52a 0%,transparent 41%),linear-gradient(146deg,#0c1128 0%,#101333 45%,#090c21 100%);color:#f6f6ff}
button,input,select{transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d5ff71;outline-offset:2px}
[hidden]{display:none!important}
.sidebar{background:linear-gradient(170deg,#10102aeF,#0a1537ed);border-right:1px solid #a998ff28}
.sidebar:before{content:'✳';position:absolute;right:15px;bottom:92px;font-size:65px;color:#94f9e312;pointer-events:none}
.brand{padding:7px 0}.brand strong{font-weight:900;letter-spacing:-1px}.brand em{color:#cffa78}.brand small{color:#ada9ff}
.nav button{border:1px solid transparent;border-radius:14px;letter-spacing:.1px}.nav button.active{border:1px solid #a78bfa91;background:linear-gradient(110deg,#8469ff44,#22c8dc24);box-shadow:inset 0 1px #ffffff1c;color:white}.nav button span{color:#cdeea9;font-weight:900}
.main{max-width:1320px}
.top{align-items:flex-start;margin-bottom:28px}.top h1{font-weight:900;font-size:clamp(26px,3vw,40px);letter-spacing:-1.7px}.eyebrow{color:#d1ff84;font-weight:900;letter-spacing:2.4px}
.privacyIcon{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;background:#d3d4e41a;color:#c3c6d6;border:1px solid #cad2e34e;border-radius:13px;padding:0;box-shadow:none}.privacyIcon:hover{background:#ffffff2a;color:white}.privacyIcon[aria-pressed="true"]{background:#a48af033}
.primary{background:linear-gradient(110deg,#dfff7c 0%,#b8ffaf 48%,#72f1f1 100%);color:#171838;border-radius:15px;box-shadow:0 9px 28px #b4ff7e21;font-weight:900}
.secondary,.pill{background:#ffffff14;border:1px solid #ffffff34;border-radius:14px}.pill{font-weight:800}
.tag,.miniTag{display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff52;padding:7px 13px;border-radius:99px;background:#ffffff21;color:#fff;font-size:10px;font-weight:950;letter-spacing:1.5px;backdrop-filter:blur(12px)}
.hero{grid-template-columns:1.28fr .82fr;gap:16px}
.heroMain{min-height:302px;border-radius:29px;border:1px solid #f4e1ff6e;background:radial-gradient(ellipse at 82% 90%,#13b8c78c,transparent 44%),radial-gradient(ellipse at 83% 10%,#ff8fbb8a,transparent 39%),linear-gradient(132deg,#4b40b4 0%,#533ba3 45%,#14566e 100%);box-shadow:0 18px 50px #07021d50;isolation:isolate}
.heroMain:after{display:none}.heroMain h2{position:relative;z-index:2;font-weight:1000;max-width:480px;font-size:clamp(35px,4.5vw,58px);line-height:1.03;letter-spacing:-2.4px;margin-top:17px}.heroMain p{position:relative;z-index:2;max-width:370px;font-weight:550;color:#f4eeff}.heroMain .primary,.heroMain .tag{position:relative;z-index:3}.heroMain .tag{color:#fff}
.heroArt{position:absolute;right:-5px;bottom:-13px;width:45%;height:90%;pointer-events:none;z-index:1;opacity:1}
.artFace{position:absolute;right:10%;bottom:9%;width:170px;height:180px;border-radius:48% 52% 48% 48%;background:linear-gradient(155deg,#ecfe85,#b9f674 90%);border:8px solid #372e83;box-shadow:12px 15px 0 #381f7a73;transform:rotate(13deg)}
.faceEyes{position:absolute;top:32%;left:24%;font-size:48px;color:#291958;letter-spacing:16px;white-space:nowrap}.faceMouth{position:absolute;top:52%;left:42%;font-size:45px;color:#291958;transform:rotate(5deg)}
.artCoin{position:absolute;z-index:2;right:3%;top:2%;width:102px;height:102px;display:grid;place-items:center;border-radius:50%;border:7px solid #fbeaa5;color:#492d75;font-weight:1000;font-size:24px;background:#ffd565;box-shadow:10px 10px 0 #4c368488;transform:rotate(23deg)}
.artStar{position:absolute;color:#ffffff;font-size:83px;left:2%;top:9%;transform:rotate(10deg);text-shadow:0 4px #5d279d}.artDoodle{position:absolute;font-size:70px;bottom:0;left:10%;color:#fd93bf;transform:rotate(-12deg)}
.safe{min-height:240px;border-radius:28px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 120% -20%,#fffa88 0%,transparent 62%),linear-gradient(135deg,#a5f7e7 0%,#b3eeff 48%,#cbfdba 100%);color:#163746;box-shadow:0 12px 38px #53e5bd13}
.safe small,.miniTag{font-weight:950;letter-spacing:1.1px}.safe strong{font-size:clamp(32px,3.4vw,48px);font-weight:1000;z-index:1}.safe p{color:#31505b;z-index:1}.safe .secondary{z-index:1;position:relative}
.stat,.panel{border:1px solid #ffffff23;background:linear-gradient(170deg,#1b1c44ec,#151c38f0);box-shadow:0 12px 40px #07081d30;border-radius:24px}
.stat:nth-child(1){background:linear-gradient(140deg,#27245f,#162746)}.stat:nth-child(2){background:linear-gradient(140deg,#412243,#252344)}.stat:nth-child(3){background:linear-gradient(140deg,#1d394b,#172c44)}.stat:nth-child(4){background:linear-gradient(140deg,#393347,#2c2644)}
.stat small{color:#d2d2ed;font-weight:700}.stat strong{font-weight:950}.stat:nth-child(2) strong{color:#ffa7cf}.stat:nth-child(3) strong{color:#b8ffb5}.stat:nth-child(4) strong{color:#ffe39b}
.panel h3{font-weight:950;letter-spacing:-.4px}.buddy{position:relative;overflow:hidden;background:radial-gradient(circle at 100% 0,#a68aff77,transparent 45%),linear-gradient(148deg,#5134a8,#1e2a58);border:1px solid #a68aff88}.buddy:before{content:'◔';position:absolute;right:-9px;bottom:-55px;font-size:185px;color:#ffffff17}.buddy .avatar{font-size:48px;color:#d5ff71;line-height:1}.buddy p{position:relative}
.txn .emoji{color:#dcffb8;background:#9a8dff32;font-size:20px;font-weight:900}
.field{color:#e4dffc;gap:7px;font-weight:750}.field small{font-size:11px;color:#acb5cd;font-weight:500;line-height:1.5}.field input,.field select{background:#0b1432e3;border:1px solid #7779a366;color:#f9f8ff;border-radius:13px}.field input::placeholder{color:#8790b4}.field input:focus,.field select:focus{border-color:#bcfba1}
.field b{font-weight:850}.moneyInput{display:flex;align-items:center;background:#0b1432e3;border:1px solid #7779a366;border-radius:14px;overflow:hidden;min-height:50px}.moneyInput:focus-within{border-color:#b9f78d}.moneyInput>span{padding-left:15px;padding-right:8px;font-weight:950;color:#d4ffa6;flex-shrink:0;font-size:14px}.moneyInput input{border:0!important;background:transparent!important;box-shadow:none!important;min-width:0;padding-left:2px}.moneyInput input:focus{outline:none!important}
.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sectionHead h3{margin:0}.sectionHead .tag{font-size:9px;color:#d6ff9b;background:#d1ff8b11;border-color:#d8ff7b53;white-space:nowrap}
.heroBudget{grid-template-columns:.78fr 1.3fr;align-items:stretch}.heroBudget .safe{padding:30px;justify-content:center;gap:14px}.safeLarge{min-height:350px;background:radial-gradient(ellipse at 100% 0%,#d4a5ff88,transparent 46%),linear-gradient(130deg,#adefff,#adffd4 75%,#e2ff85)}.safeLarge .miniTag{width:max-content;background:#172c3952;border-color:#182b3a33;color:#153647}.safeLarge strong{font-size:clamp(30px,4vw,52px);z-index:1}.safeLarge p{z-index:1}.safeBubble{position:absolute;right:12px;bottom:-68px;font-size:240px;color:#143c5520;transform:rotate(-17deg)}
.calculation{margin-top:16px}.calcRow{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff1a}.calcRow strong{white-space:nowrap}.calcTotal{font-weight:900;font-size:16px;color:#d7ff9b}.calcExplain{background:#9781ff25;border:1px solid #aa9eff52;padding:15px;border-radius:16px;margin:16px 0 10px;line-height:1.6}.warning{color:#ffe7a5;background:#f7b7601d;border:1px solid #f7b76055;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5}
.salaryMain{background:radial-gradient(circle at 100% 0,#6d4ea044,transparent 40%),#191d3e}.salaryMain form>.field{margin-bottom:10px}.incomeInput{margin-top:5px;max-width:100%}.incomeInput input{font-size:21px;font-weight:950}
.miniButton{color:#d5ffaa;background:#a6dc7833;border:1px solid #cdfc9a5e;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:850}
.allocationLegend{display:flex;justify-content:space-between;gap:8px;padding:8px 3px;color:#aeb2d0;font-size:11px;font-weight:700}
.allocationRow{display:grid;grid-template-columns:1.05fr 1fr;gap:13px;padding:13px 0;border-bottom:1px solid #ffffff1f}.allocationIdentity{display:grid;gap:7px}.allocationIdentity input,.allocationIdentity select{width:100%;border:1px solid #7779a366;background:#0b1432e3;border-radius:11px;color:white;padding:11px;font-size:13px;min-width:0}.allocationIdentity select{font-size:11px;color:#cad6dd}.allocationValue{display:grid;grid-template-columns:minmax(0,1fr) 56px 29px;gap:7px;align-items:center}.allocationValue .moneyInput{min-height:45px}.allocationValue .moneyInput>span{padding-left:9px;font-size:12px;padding-right:4px}.allocationValue .moneyInput input{padding:10px 2px;font-size:13px}.allocationPercent{text-align:right;color:#eaffb5;font-size:12px;font-weight:900}.removePos{background:#ffffff15;color:#ffb0bb;border:1px solid #ffb0bb46;border-radius:9px;width:29px;height:35px;font-size:20px}
.allocationTotals{margin:18px 0 20px;padding:15px;background:#9d85ff1e;border:1px solid #ab90ff50;border-radius:15px;display:grid;gap:12px}.allocationTotals .row{font-size:13px}.allocationTotals b{font-size:15px}.danger{color:#ff9da6}.allocationAside .salaryBreakRow{padding:9px 0}.allocationAside .salaryBreakRow .row{font-size:12px;gap:8px}.allocationAside .salaryBreakRow .row b{text-align:right;white-space:nowrap}.allocationAside .progress{height:7px;margin:8px 0 0}.allocationAside .progress div{background:linear-gradient(90deg,#8c91ff,#b8ffb5)}.buddyTip{margin-top:22px;background:linear-gradient(122deg,#3e2d90,#2d3268);padding:18px;border:1px solid #a89cf650;border-radius:18px}.buddyTip span{font-size:11px;letter-spacing:1.2px;font-weight:950;color:#ddfba6}.buddyTip p{color:#e3e0fd;line-height:1.6;font-size:13px}
.moreSheet{display:none}.bottomnav{z-index:90}
@media(max-width:980px){.heroBudget{grid-template-columns:1fr}.heroMain{min-height:286px}.artFace{width:135px;height:146px}.artCoin{width:82px;height:82px;font-size:21px}.heroArt{width:43%}}
@media(max-width:680px){
 .main{padding:18px 15px 109px}.heroMain{padding:23px;min-height:277px;border-radius:25px}.heroMain h2{font-size:clamp(36px,9vw,43px);max-width:295px}.heroMain p{max-width:245px;font-size:13px}.heroArt{width:52%;height:73%;opacity:.75;right:-5%;bottom:-7%}.artFace{width:105px;height:110px;border-width:6px}.faceEyes{font-size:29px;letter-spacing:11px}.faceMouth{font-size:32px}.artCoin{width:63px;height:63px;border-width:4px;font-size:16px;right:12%}.artStar{font-size:55px;left:0;top:24%}.artDoodle{font-size:50px}.top h1{font-size:27px}.privacyIcon{width:39px;height:39px}.safe{min-height:202px}.heroBudget .safe{min-height:200px}.stat{padding:17px 13px;min-height:114px}.stat strong{font-size:19px;overflow-wrap:anywhere}.stat small{font-size:11px}.panel{padding:17px}.allocationRow{grid-template-columns:1fr;gap:7px}.allocationValue{grid-template-columns:minmax(0,1fr) 66px 29px}.allocationIdentity{grid-template-columns:1fr 1fr}.allocationIdentity select{font-size:11px}.bottomnav{justify-content:space-between;padding:9px 8px max(13px,env(safe-area-inset-bottom));background:#0e1032f5;border-top:1px solid #9a7fff59}.bottomnav button{flex:1;min-width:0!important;max-width:90px;font-size:10px;border-radius:10px;padding:7px 1px}.bottomnav button.active{color:#caff90;background:#a68af51c}.bottomnav button span{font-size:20px}.moreSheet:not([hidden]){display:block;position:fixed;inset:0;z-index:100}.moreBackdrop{position:absolute;inset:0;background:#040518c9}.moreContent{position:absolute;bottom:0;left:0;right:0;border-radius:24px 24px 0 0;background:linear-gradient(145deg,#282252,#121a39);border:1px solid #a892ff5e;padding:22px 18px max(24px,env(safe-area-inset-bottom));box-shadow:0 -18px 55px #050518aa}.moreLink{display:flex;align-items:center;gap:14px;background:#ffffff14;border:1px solid #ffffff22;color:#fff;border-radius:14px;margin-top:8px;padding:15px;font-weight:800;width:100%;text-align:left}.moreLink span:last-child{margin-left:auto;color:#d2fc83}.sectionHead h3{font-size:18px}.heroBudget{gap:14px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
