@import url('https://fonts.googleapis.com/css2?family=Asap:wght@400;500;600;700&display=swap');
/* CRHB reference tokens: Dark #323F52, Vert #129B9B, action #F29D27. */
:root{--ink:#323f52;--purple:#087c83;--lime:#f29d27;--border:#cbd7df;--paper:#ecf0f3;--crhb-teal:#129b9b;--crhb-blue:#c4daec;--crhb-orange:#f29d27}
body,button,input,select,textarea{font-family:'Asap',sans-serif}h1,h2,h3,.brand,.cardnumber,.total strong{font-family:'Asap',sans-serif}.brandmark{background:var(--ink);color:white}.intro{padding-top:35px;gap:5%}.intro h1{letter-spacing:-.035em;font-size:clamp(48px,5.5vw,72px)}.intro p{color:var(--ink)}.welcome{transform:none;border-radius:30px;background:var(--crhb-blue);color:var(--ink);box-shadow:none;padding:30px;min-height:260px;overflow:visible}.welcome h2{font-size:34px;max-width:65%}.welcome p{color:var(--ink);max-width:65%;font-size:16px}.welcome a{background:var(--crhb-orange);color:var(--ink);position:relative;z-index:1}.sticker{background:var(--crhb-teal);color:white;right:22px;font-size:12px}.cube-art{position:absolute;width:100px;height:200px;right:20px;top:60px}.cube-art img{position:absolute;left:-100px;top:-30px;width:auto;height:auto}.intro-tags{color:var(--ink)}.pack-steps{padding:18px 0;margin:0;display:flex;list-style:none;gap:24px;font-size:16px}.pack-steps li{display:flex;gap:10px;align-items:center}.pack-steps b{display:grid;place-items:center;background:var(--crhb-blue);width:30px;height:30px;border-radius:99px;font-size:14px;color:var(--ink)}.notice{color:#566574}.tabs{background:#dae3e9}.tabs button[aria-selected=true]{color:var(--ink);box-shadow:none;border-bottom:3px solid var(--crhb-orange)}.pill{background:var(--crhb-blue);color:var(--ink)}.card{border-radius:22px;border:1px solid #d3dde5}.card.selected{border:2px solid var(--crhb-teal);padding:15px}.cardnumber{font-size:21px;color:var(--ink)}.cardphoto{background:#e7eff4;border-radius:16px}.variant{background:#e4edf2;color:var(--ink)}.add,.primary{background:var(--crhb-orange);color:var(--ink);border-radius:10px;font-weight:700}.add:hover,.primary:hover{background:#ffc064}.missionbox{background:var(--crhb-blue);border-radius:22px}.packtop{background:var(--crhb-teal);color:white}.packtop h2 span{color:#fff}.packbottom{background:#f5f8fa}.packbottom strong{color:var(--ink)}.favourite-tools button[aria-pressed=true]{background:#d9eeee;color:#075f64;border-color:var(--crhb-teal)}.favourite-card.is-favourite{color:#c64648;background:white;border-color:#c64648}.undo-pack{background:#e4f2f2;color:#075f64;border-color:#129b9b}.budget .save-status{color:#586875}.desktop-flow{display:flex;gap:10px}.desktop-flow button{background:none;border:0;color:var(--ink);padding:10px 14px;font-size:16px;border-radius:12px}.desktop-flow button[aria-current=page]{background:var(--crhb-blue);font-weight:700}.mobile-flow{display:none}.toast{background:var(--ink)}
@media(max-width:760px){.desktop-flow{display:none}.intro{padding:24px 0;gap:20px}.intro h1{font-size:52px}.welcome{margin:0;padding:24px;min-height:235px}.welcome h2{max-width:62%;font-size:29px}.welcome h2 br{display:block}.welcome p{max-width:62%;font-size:14px}.cube-art{right:0;top:72px}.pack-steps{gap:10px;font-size:13px;justify-content:space-between}.pack-steps li{display:block;max-width:100px}.pack-steps b{margin-bottom:7px}.card.selected{padding:12px}.mobile-flow{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9;justify-content:space-around;align-items:start;border:1px solid #cbd7df;border-radius:28px 28px 0 0;background:var(--paper);padding:10px 10px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -5px 18px #323f5215}.mobile-flow button,.mobile-flow #mobile-pack{position:static;display:flex;flex-direction:column;align-items:center;justify-content:start;gap:2px;flex:1;background:none;box-shadow:none;border:0;border-radius:12px;padding:5px 2px;color:var(--ink);text-decoration:none;font-size:12px;line-height:1.25}.mobile-flow img{width:auto;height:auto;max-width:none}.mobile-flow button[data-view=favourites]{padding-top:12px}.mobile-flow button[data-view=favourites] img{margin-bottom:8px}.mobile-flow [aria-current=page]{background:#c4daec!important}.mobile-flow #mobile-pack>span:last-child{background:none;padding:0}.mobile-flow #mobile-pack strong{font-size:12px}.mobile-flow #mobile-pack b{background:var(--crhb-orange);font-size:12px}.toast{bottom:120px}body{padding-bottom:115px}.photo-dialog{margin-bottom:115px}}

.welcome h2,.welcome p{max-width:100%}
.checkout-summary{margin-top:20px;padding:16px;border-radius:16px;background:#e3f2f2}.checkout-summary p{font-size:14px;line-height:1.5;color:#425c65}.checkout-summary #pay-pack{background:#d9e0e5;color:#53616d}.checkout-summary button{width:100%}
.playful-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-top:20px;border-radius:20px;background:#dceeee;border:1px solid #b4d9d9}.playful-tools strong{font-size:18px}.playful-tools p{font-size:14px;line-height:1.5;margin:6px 0 0;color:#425c65}.playful-tools button{flex-shrink:0}.budget-presets{display:flex;gap:8px;margin-top:10px}.budget-presets button{border:1px solid #b4d9d9;border-radius:20px;background:#eff8f8;color:#075f64;min-height:40px;flex:1;font-size:14px;font-weight:700}.budget-presets button:hover{background:#c4daec}@media(max-width:760px){.playful-tools{flex-direction:column;align-items:stretch}.playful-tools button{width:100%}}
.pack-thumb{float:left;width:44px;height:61px;object-fit:contain;margin:0 10px 8px 0;border-radius:4px}.packitem .itemcontrols{clear:both}.pack-files{margin:18px 0;padding-top:16px;border-top:1px solid #d3dde5}.pack-files label{font-size:14px}.pack-files input{width:100%;margin:8px 0 12px}.pack-files .primary{margin-bottom:12px}.import-pack{display:block;border:1px solid #129b9b;border-radius:10px;padding:12px;color:#075f64;text-align:center;cursor:pointer;font-weight:600}.import-pack:focus-within{outline:3px solid #f29d27;outline-offset:3px}.import-pack input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.pack-files p{font-size:14px;color:#566574;margin-bottom:0}.itemcontrols button{min-width:40px;min-height:40px}#pack-items{max-height:440px}

.mobile-flow .nav-heart{font-size:38px;line-height:38px;margin:0 0 3px}.mobile-flow button[data-view=favourites]{padding-top:5px}
