*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f7fd;color:#172447;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:1160px;margin:auto;padding:0 22px}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#152955}.brand strong{display:block;font:800 28px/1.12 Georgia,serif;letter-spacing:-1px}.brand small{color:#73809e;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}.logo{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#142f67;color:#f4c968;font-size:26px}.top-controls{display:flex;gap:10px;flex-wrap:wrap}button,select,textarea{font:inherit}select,textarea{border:1px solid #d6dfed;border-radius:12px;background:white;color:#152955}select{padding:10px 14px;max-width:240px}button{cursor:pointer;border-radius:12px;border:0;padding:11px 17px;font-weight:700;transition:transform .15s,background .2s}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd8540;outline-offset:3px}button:hover{transform:translateY(-1px)}.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.5fr 1fr;overflow:hidden;min-height:300px;border-radius:25px;background:linear-gradient(118deg,#112b5e,#214b97 65%,#3a69b1);color:white;padding:48px 60px}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 36%,#ffffff2b,transparent 31%)}.hero-content{z-index:2}.eyebrow,.kicker{color:#e2bb67;font-weight:800;font-size:11px;letter-spacing:2px}.hero h1{font:700 clamp(35px,4.7vw,59px)/1.08 Georgia,serif;max-width:500px;margin:16px 0}.hero p{max-width:520px;color:#dce6ff}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.primary{background:#d9a743;color:#13264b}.secondary{background:#edf2fd;color:#1b4483}.ghost{background:#ffffff20;border:1px solid #ffffff65;color:white}.gift-art{position:relative;min-height:200px;display:grid;place-items:center}.giftbox{position:relative;width:192px;height:153px;filter:drop-shadow(0 25px 16px #07163d60);transform:rotate(-8deg)}.box-front{position:absolute;top:38px;left:12px;width:170px;height:130px;border-radius:5px;background:linear-gradient(125deg,#d3a44a,#fbe6a7 55%,#ba852e)}.lid{position:absolute;left:0;top:20px;width:194px;height:40px;background:linear-gradient(120deg,#f0ca75,#b57e29);border-radius:5px;z-index:4}.ribbon-v{position:absolute;width:30px;height:150px;background:#123976;top:19px;left:82px;z-index:5;box-shadow:inset 2px 0 #8ab3eb}.ribbon-h{position:absolute;top:85px;left:10px;width:174px;height:27px;background:#1b4c99;z-index:2}.bow{position:absolute;top:-39px;left:61px;font-size:86px;line-height:1;color:#ffdb8c;z-index:6}.sparkle{position:absolute;font-size:34px;color:#f6d68b}.s1{top:5px;left:8%}.s2{top:30%;right:2%}.s3{bottom:5%;left:0}.tabs{display:flex;gap:6px;overflow-x:auto;margin:24px 0 22px;padding-bottom:4px;border-bottom:1px solid #e2e8f2}.tab{background:none;color:#6e7995;border-radius:10px 10px 0 0;white-space:nowrap}.tab.active{color:#1d4b99;background:#e8effc;box-shadow:inset 0 -3px #d5a54a}.page{display:none;min-height:360px}.page.active{display:block}.two-col{display:grid;grid-template-columns:1.32fr 1fr;gap:20px}.stack{display:grid;gap:20px}.card{background:white;border:1px solid #e2e8f3;border-radius:19px;padding:27px;box-shadow:0 8px 30px #143a7510}.highlight{background:linear-gradient(155deg,#fff,#f5f9ff)}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.section-heading h2{margin:5px 0;font:700 27px/1.2 Georgia,serif}.mini-icon{background:#e9f0ff;color:#c3933f;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.reflection{padding:22px 0;min-height:176px}.reflection p{font:500 clamp(22px,2.4vw,30px)/1.5 Georgia,serif;margin:0}.quotation{font:700 63px/1 Georgia,serif;color:#d1a257}.hint{color:#7784a0;font-size:12px}.muted{color:#75809a}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.card h3{margin:0 0 12px;font:700 21px Georgia,serif}textarea{width:100%;padding:14px;resize:vertical;min-height:128px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.stat-grid strong{display:block;font:700 36px Georgia,serif;color:#244c95}.stat-grid span{font-size:12px;color:#7c87a1}.month-selector{display:flex;align-items:center;gap:12px}.month-selector h3{min-width:140px;text-align:center;margin:0}.month-selector button{font-size:21px;background:#eaf0fc;color:#285191;padding:2px 13px}.weekday,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekday{color:#7a8497;text-align:center;font-size:12px;margin-top:20px}.calendar-grid{margin:10px 0 20px}.calendar-day{position:relative;min-height:70px;padding:8px;text-align:left;border:1px solid #dce5f4;background:white;color:#263759;display:flex;justify-content:space-between;flex-direction:column}.calendar-day.current{border:2px solid #d4a149;background:#fff9ed}.calendar-day.completed{background:#edf9f0}.calendar-day.selected{outline:2px solid #214c9c}.calendar-day .dot{align-self:flex-end;color:#298b56}.calendar-day.empty{visibility:hidden}.day-detail{margin-top:16px}.journal-list{display:grid;gap:12px}.entry{border:1px solid #e2e7f1;border-radius:12px;padding:18px;white-space:pre-wrap}.entry .entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#7182a2;margin-bottom:9px}.entry button{background:#fff0ec;color:#a94334;padding:4px 11px}.challenge{padding:18px 0;border-bottom:1px solid #e6ebf4}.challenge:last-child{border:0}.progress-track{height:12px;background:#e8edf6;border-radius:20px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#1c4c99,#dab05f);transition:width .3s}.setting{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid #e5eaf4}.setting:last-child{border:0}.setting p{max-width:580px;margin:0}.setting input[type=file]{max-width:250px}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#8a94aa;font-size:13px;padding:35px 0}footer a{color:#315c9b}footer b{color:#d4a047}#toast{position:fixed;bottom:24px;right:24px;max-width:330px;background:#193c7b;color:#fff;padding:13px 20px;border-radius:12px;box-shadow:0 12px 32px #0c1b3b38;opacity:0;pointer-events:none;transform:translateY(15px);transition:.2s;z-index:10}#toast.show{opacity:1;transform:none}.sr-only{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden}@media(max-width:750px){.app{padding:0 14px}.header{align-items:flex-start}.brand strong{font-size:24px}.brand small{font-size:9px}.hero{grid-template-columns:1fr;padding:35px 26px}.gift-art{position:absolute;right:-80px;bottom:-65px;opacity:.32;transform:scale(.75)}.two-col{grid-template-columns:1fr}.card{padding:20px}.calendar-day{min-height:53px;padding:5px}.section-heading{align-items:flex-start}.month-selector{gap:4px}.month-selector h3{min-width:90px;font-size:14px}.section-heading h2{font-size:23px}.setting{flex-wrap:wrap}.top-controls select{max-width:154px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
