:root{color-scheme:dark;--bg:#081426;--panel:#10223a;--panel2:#152c46;--line:#29405a;--text:#f5f8ff;--muted:#a6b7cb;--gold:#f7cf65;--blue:#47c2ec}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(ellipse at top,#153358 0,#091728 48%,#07111f 100%);min-height:100dvh}.app-shell{max-width:550px;margin:0 auto;padding:22px 18px 34px}.top,.logo,.hero-head,.goal-caption,.rewards-head,.reward-top,.progress-head,.reward-bottom,.today-footer{display:flex;justify-content:space-between;align-items:center}.top{margin:4px 0 26px}.logo{justify-content:flex-start;gap:12px}.logo-mark{width:49px;height:49px;display:grid;place-items:center;border-radius:16px;font-size:26px;background:linear-gradient(135deg,#2fa8d8,#14558b);box-shadow:0 7px 20px #009fef20}.logo h1{margin:0;font-size:27px;letter-spacing:-1px}.logo span{font-size:11px;color:#b8c9da}.tiny-btn{background:#19334c;border:1px solid #3c5369;color:white;width:38px;height:38px;border-radius:13px;font-size:19px;cursor:pointer}.card{background:linear-gradient(155deg,#173a5c,#10253e 75%);border:1px solid #2b5275;border-radius:25px;box-shadow:0 15px 40px #0005}.hero{padding:24px 19px 18px}.eyebrow{color:#8ccbea;font-size:10px;letter-spacing:2px;font-weight:850}.huge{font-size:60px;font-weight:850;letter-spacing:-3px;line-height:1.2;margin-top:5px}.huge small{font-size:27px;font-weight:550;letter-spacing:-1px;color:#a7c0d3}.sub{font-size:12px;color:#c2d5e7;max-width:260px;line-height:1.5}.hero-bubble{font-size:64px;filter:drop-shadow(0 0 24px #56c4f282)}.water-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:26px}.water-slot{border:1px solid #3a5874;background:#19334d;height:65px;border-radius:13px;display:grid;place-items:center;font-size:25px;color:#678aa5;position:relative;transition:background .25s,transform .25s}.water-slot.filled{background:linear-gradient(160deg,#5bd3eb,#1887bf);color:white;border-color:#84daf4;text-shadow:0 2px 4px #286589}.water-slot.milestone{box-shadow:inset 0 0 0 1px #e6c66b7d}.water-slot .slot-num{position:absolute;bottom:4px;font-size:10px;font-weight:750}.goal-caption{font-size:10px;color:#99b1c7;margin:10px 1px 20px}.goal-caption strong{color:#f9d276}.primary{background:linear-gradient(110deg,#e6ad39,#ffdc7d);border:0;border-radius:13px;color:#30230d;width:100%;font-size:15px;font-weight:850;padding:16px;cursor:pointer;box-shadow:0 8px 24px #dba12d30}.primary:active{transform:scale(.99)}.primary:disabled{opacity:.55;cursor:not-allowed}.upload-hint{text-align:center;color:#a6bfd5;font-size:11px;margin-top:11px}.today-footer{border-top:1px solid #33506a;margin-top:20px;padding-top:15px;font-size:11px;color:#bbd0df}.today-footer span:first-child{color:#ffe29a}.rewards-head{margin:32px 2px 17px}.rewards-head h2{margin:5px 0;font-size:23px;letter-spacing:-.6px}.outline-small{border:1px solid #3d5570;background:#15273d;color:#cfe5fa;border-radius:11px;padding:9px 12px;font-size:12px;cursor:pointer}.reward-grid{display:grid;gap:13px}.reward-card{background:linear-gradient(145deg,#142943,#0d2136);border:1px solid #2a4159;border-radius:19px;padding:19px}.reward-card.primary-reward{background:linear-gradient(135deg,#312c27,#1b2a3d 65%);border-color:#6a5632}.reward-top{margin-bottom:11px}.reward-icon{font-size:34px}.reward-price{color:#ffcf65;font-size:27px;font-weight:850}.reward-card h3{font-size:17px;margin:0 0 4px}.reward-card p{font-size:12px;color:#b4c6d7;margin:0 0 18px}.progress-head,.reward-bottom{font-size:11px;color:#bdd0de}.progress-head{margin-bottom:8px}.progress{height:9px;background:#34506a;border-radius:20px;overflow:hidden}.progress>div{height:100%;width:0;background:linear-gradient(90deg,#e2a435,#ffe58a);border-radius:20px;transition:width .55s}.reward-card:not(.primary-reward) .progress>div{background:linear-gradient(90deg,#2790b4,#75d7e9)}.reward-bottom{margin-top:12px}.hint-box{margin-top:19px;background:#13334870;border:1px solid #2d5972;border-radius:16px;padding:18px;font-size:13px}.hint-box strong{color:#e0f6ff}.hint-box p{color:#afc5d8;line-height:1.55;margin-bottom:0}footer{text-align:center;font-size:10px;color:#7c91a4;padding-top:30px}.overlay{position:fixed;z-index:20;inset:0;background:#040a14cb;display:grid;place-items:center;padding:18px;backdrop-filter:blur(6px)}.hidden{display:none!important}.modal{position:relative;background:linear-gradient(150deg,#1e3e58,#102238);border:1px solid #4a6479;padding:32px 24px 24px;text-align:center;border-radius:25px;width:min(100%,440px);box-shadow:0 25px 80px #000b}.modal-emoji{font-size:64px;margin-bottom:14px}.modal h2{font-size:25px;margin:10px 0;color:#fbe29e}.modal p{color:#d4e2ee;font-size:14px;line-height:1.55;white-space:pre-line}.modal .primary{margin-top:17px}.close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#bed5e3;font-size:29px;cursor:pointer}.animation-layer{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:50}.flying-token{position:fixed;font-size:39px;filter:drop-shadow(0 2px 12px #ffb9008a);animation:coinFly 1.1s ease-in forwards}@keyframes coinFly{0%{opacity:0;transform:translate(0,0) scale(.4) rotate(0)}20%{opacity:1;transform:translate(0,-55px) scale(1.5) rotate(90deg)}75%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.25) rotate(450deg)}}.confetti{position:fixed;top:-25px;font-size:24px;animation:confettiFall 2s linear forwards}@keyframes confettiFall{to{top:105vh;transform:rotate(1000deg)}}.mini-img{width:75px;height:75px;object-fit:cover;border-radius:11px;border:1px solid #69829a;margin:8px}.history-list{text-align:left;max-height:50vh;overflow:auto;font-size:12px}.history-item{border-bottom:1px solid #496073;padding:9px 0;display:flex;gap:9px;align-items:center}.history-item img{width:43px;height:43px;object-fit:cover;border-radius:7px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:12px;gap:12px}.setting-row input{max-width:90px;padding:9px;background:#102036;color:#fff;border:1px solid #5f7a91;border-radius:8px}.secondary-button{background:#27445b;color:#fff;border:1px solid #64758b;border-radius:12px;padding:12px;width:100%;margin-top:8px;cursor:pointer}@media (max-width:375px){.water-slot{height:55px}.hero{padding:20px 14px}.app-shell{padding:17px 12px}.reward-card{padding:17px}}
