.passport{color:var(--cream,#f3ecda);font-family:var(--font,Arial,sans-serif);max-width:760px;margin:auto}.passport-cover{position:relative;isolation:isolate;color:#183738;background:#e7e0ca;border-radius:4px;padding:19px 25px 17px;overflow:hidden;background-image:repeating-linear-gradient(1deg,transparent,transparent 3px,#23423605 3px,#23423605 4px);box-shadow:0 8px 26px #00000018}.passport-cover:before{content:'';position:absolute;left:0;right:0;top:43px;border-top:1px dashed #35584c45;z-index:-1}.passport-cover:after{content:'';position:absolute;left:-7px;right:-7px;bottom:39px;height:14px;background:radial-gradient(circle at 7px 7px,var(--panel,#0a1d26) 6px,transparent 6.6px) left/14px 14px no-repeat,radial-gradient(circle at 7px 7px,var(--panel,#0a1d26) 6px,transparent 6.6px) right/14px 14px no-repeat;pointer-events:none}.passport-cover-top,.passport-cover-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono,monospace);font-size:9px;letter-spacing:1px}.passport-cover-top>span:last-child{font-size:17px;line-height:1}.passport-cover-main{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px 0 25px}.passport-kicker{font-size:10px;letter-spacing:.1px;margin:0 0 9px;color:#536b5b}.passport-cover h2{font-size:43px;line-height:1.04;letter-spacing:-2px;font-weight:570;margin:0}.passport-seal{border:1px solid #496e5ab3;outline:1px solid #496e5a55;outline-offset:5px;border-radius:50%;width:129px;height:129px;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(9deg);color:#496e5a;flex-shrink:0}.passport-seal>span{font-family:var(--mono,monospace);letter-spacing:2px;font-size:9px}.passport-seal svg{height:59px;width:59px;stroke:currentColor;stroke-width:1.15;fill:none;stroke-linejoin:round;stroke-linecap:round}.passport-seal small{font-family:var(--mono,monospace);font-size:7px;letter-spacing:1.1px}.passport-cover-bottom{border-top:1px dashed #35584c55;padding-top:13px;font-size:8px;letter-spacing:.5px}.passport-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:23px 0 35px}.passport-stats>div{padding:0 13px;border-right:1px solid var(--line,#c7dad62e)}.passport-stats>div:first-child{padding-left:0}.passport-stats>div:last-child{border:0;padding-right:0}.passport-stats dt{font-size:9px;color:var(--muted,#92a9af);margin-bottom:5px}.passport-stats dd{font-size:27px;letter-spacing:-.8px;font-weight:450;margin:0;font-variant-numeric:tabular-nums}.passport-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:4px}.passport-section-head h3{font-size:19px;letter-spacing:-.5px;font-weight:500;margin:0}.passport-section-head>span{color:var(--muted,#92a9af);font-size:9px;white-space:nowrap}.passport-journeys{padding:0;margin:0;list-style:none}.passport-journey{display:flex;align-items:flex-start;gap:14px;border-bottom:1px solid var(--line,#c7dad62e);padding:18px 0}.passport-journey-number{font:10px var(--mono,monospace);color:#789a9d;border:1px solid #90aca436;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;margin-top:1px}.passport-journey.is-complete .passport-journey-number{color:var(--mint,#b6d5b3);border-color:#b6d5b36b;background:#b6d5b30b}.passport-journey-copy{flex:1;min-width:0}.passport-journey h4{font-size:12px;font-weight:550;margin:0 0 4px}.passport-journey p{font-size:10px;line-height:1.6;color:var(--muted,#92a9af);margin:0}.passport-progress-track{height:2px;margin-top:11px;max-width:290px;background:#bddacd14;border-radius:2px;overflow:hidden}.passport-progress-track>span{display:block;height:100%;background:#87a99e}.is-complete .passport-progress-track>span{background:var(--mint,#b6d5b3)}.passport-progress-label{font:9px var(--mono,monospace);color:#8ea8a7;white-space:nowrap;margin-top:4px}.is-complete .passport-progress-label{color:var(--mint,#b6d5b3)}.passport-stamp-heading{margin-top:32px;margin-bottom:20px}.passport-stamps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 15px;padding:3px}.passport-stamp{--stamp:#b8ccc1;position:relative;display:flex;align-items:center;flex-direction:column;min-width:0;min-height:181px;color:var(--stamp);border:1px dashed currentColor;border-radius:2px;padding:13px 11px 12px;background:#8aafa60a;isolation:isolate;transform:rotate(-1.2deg);transition:background .18s,transform .18s;cursor:pointer;font-family:inherit}.passport-stamp:nth-child(3n+2){transform:rotate(1.1deg)}.passport-stamp:nth-child(3n){transform:rotate(-.3deg)}.passport-stamp:before{content:'';position:absolute;inset:5px;border:1px solid currentColor;opacity:.17;pointer-events:none}.passport-stamp--paper{--stamp:#dda493}.passport-stamp--garden{--stamp:#aaca9c}.passport-stamp--spiral{--stamp:#dbc08b}.passport-stamp--clouds{--stamp:#a7bad9}.passport-stamp:hover{color:var(--stamp);background:#a8c6bb14;transform:rotate(0deg) translateY(-2px)}.passport-stamp:focus-visible{outline:2px solid var(--mint,#b6d5b3);outline-offset:5px}.passport-stamp-number{font:7px var(--mono,monospace);letter-spacing:1px;opacity:.8}.passport-stamp>svg{width:55px;height:55px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linejoin:round;stroke-linecap:round;margin:7px 0 6px}.passport-stamp strong{font-size:11px;font-weight:550;line-height:1.3;text-align:center;overflow-wrap:anywhere;max-width:100%}.passport-stamp-place{font-size:8px;opacity:.74;margin:4px 0 11px}.passport-stamp-visited{font:7px var(--mono,monospace);letter-spacing:1.1px;padding:4px 8px;border:1px solid currentColor;opacity:.75;transform:rotate(-4deg);margin-top:auto}.passport-empty{padding:30px 20px;border:1px dashed #b5cbb62f;text-align:center;border-radius:3px}.passport-empty>span{font-size:30px;color:var(--mint,#b6d5b3)}.passport-empty p{font-size:14px;margin:10px 0 5px}.passport-empty small{font-size:11px;color:var(--muted,#92a9af);line-height:1.7}.passport-fineprint{font-size:9px;line-height:1.8;color:#809da0;margin:23px 0 0;padding-top:16px;border-top:1px solid var(--line,#c7dad62e)}@media(max-width:520px){.passport-cover{padding:17px 19px 15px}.passport-cover-main{padding:27px 0 24px;gap:14px}.passport-cover h2{font-size:37px;letter-spacing:-1.6px}.passport-kicker{font-size:9px;max-width:125px;line-height:1.5}.passport-seal{width:105px;height:105px}.passport-seal>span{font-size:7px;letter-spacing:1.3px}.passport-seal svg{width:49px;height:49px}.passport-seal small{font-size:6px}.passport-cover-top{font-size:7px;letter-spacing:.7px}.passport-cover-bottom{font-size:7px}.passport-stats{margin:22px 0 28px}.passport-stats>div{padding:0 10px}.passport-stats dt{font-size:8px;line-height:1.5;max-width:58px}.passport-stats dd{font-size:25px}.passport-section-head h3{font-size:17px}.passport-section-head>span{font-size:8px}.passport-journey{gap:10px}.passport-journey-number{height:25px;width:25px;font-size:9px}.passport-journey h4{font-size:11px}.passport-journey p{font-size:10px}.passport-progress-label{font-size:8px}.passport-stamps{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.passport-stamp{min-height:176px}.passport-stamp-heading{align-items:flex-start}.passport-stamp-heading>span{white-space:normal;text-align:right;max-width:90px}.passport-fineprint{font-size:9px}}@media(prefers-reduced-motion:reduce){.passport-stamp{transition:none}.passport-stamp:hover{transform:none}}
