@font-face{font-family:Pangolin;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pangolin-400-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Pangolin;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pangolin-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pangolin;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pangolin-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fff8e8;--paper-card:#fffdf7;--paper-shade:#f6ead0;--ink:#111;--ink-2:#33312c;--ink-3:#5c584e;--dot:#1111111c;--hl-yellow:#ffe84d;--hl-teal:#2dd4bf;--hl-pink:#ff6fae;--tape:#fff4b4d1;--stroke-thin:1.5px;--stroke:2.5px;--stroke-bold:3.5px;--rough-a:255px 18px 225px 18px / 18px 225px 18px 255px;--rough-b:18px 225px 18px 255px / 255px 18px 225px 18px;--rough-pill:60px 90px 70px 80px / 80px 70px 90px 60px;--shadow-ink:4px 4px 0 var(--ink);--shadow-ink-sm:3px 3px 0 var(--ink);--font-marker:"Pangolin", "Be Vietnam Pro", ui-rounded, system-ui, sans-serif;--font-body:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--t-xs:.8125rem;--t-sm:.9375rem;--t-md:1.0625rem;--t-lg:1.3125rem;--t-xl:1.75rem;--t-2xl:2.5rem;--t-3xl:3.5rem;--t-num:clamp(4.5rem, 26vw, 6.5rem);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--gutter:max(16px, env(safe-area-inset-left));--tap:48px;--tap-lg:56px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-1:.16s;--dur-2:.3s;--dur-3:.42s;--swipe-yellow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'%3E%3Cpath d='M2 6 C18 2 40 4 58 3 C74 2 90 3 98 5 L97 16 C80 18 60 17 40 18 C24 19 10 17 3 15 Z' fill='%23ffe84d'/%3E%3C/svg%3E");--swipe-teal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'%3E%3Cpath d='M3 5 C20 3 42 2 60 4 C76 3 91 2 97 6 L98 15 C82 18 62 16 42 17 C25 18 9 18 2 14 Z' fill='%232dd4bf'/%3E%3C/svg%3E");--swipe-pink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'%3E%3Cpath d='M2 7 C16 3 38 3 56 2 C73 3 88 4 98 4 L96 16 C78 17 58 18 38 17 C22 18 8 16 3 16 Z' fill='%23ff6fae'/%3E%3C/svg%3E");--squiggle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M1 5 Q6 1 11 4 T21 4 T31 4 T39 3' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scrollbar-color:var(--ink) var(--paper-shade);scrollbar-width:thin}body{background-color:var(--paper);background-image:radial-gradient(var(--dot) 1.1px, transparent 1.4px);min-height:100dvh;color:var(--ink);font:400 var(--t-md) / 1.5 var(--font-body);caret-color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;background-size:18px 18px;margin:0}::selection{background:var(--hl-yellow);color:var(--ink)}:focus-visible{outline:var(--stroke) solid var(--ink);outline-offset:4px}h1,h2,h3{font-family:var(--font-marker);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:400;line-height:1.08}h1{font-size:var(--t-3xl)}h2{font-size:var(--t-2xl)}h3{font-size:var(--t-xl)}p{text-wrap:pretty;margin:0}a{color:var(--ink);text-underline-offset:4px;text-decoration-thickness:2px}.num{font-family:var(--font-marker);font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.small{font-size:var(--t-sm)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.hl,.hl-teal,.hl-pink{background:var(--swipe-yellow) center / 100% 100% no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;margin:0 -.12em;padding:.04em .28em}.hl-teal{background-image:var(--swipe-teal)}.hl-pink{background-image:var(--swipe-pink)}.squiggle{background:var(--squiggle) left bottom / 40px 8px repeat-x;padding-bottom:6px}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap-lg);padding:0 var(--s-5);border:var(--stroke) solid var(--ink);border-radius:var(--rough-a);background:var(--hl-yellow);color:var(--ink);font:400 var(--t-lg) / 1 var(--font-marker);box-shadow:var(--shadow-ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);text-decoration:none;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(4px,4px)}.btn:disabled{background:var(--paper-card);color:var(--ink-3);box-shadow:none;cursor:not-allowed;border-style:dashed}.btn--block{width:100%}.btn--spark{position:relative}.btn--spark:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='none' stroke='%23111' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 20 L1 24'/%3E%3Cpath d='M12 12 L10 4'/%3E%3Cpath d='M20 16 L28 12'/%3E%3C/svg%3E") 50%/contain no-repeat;width:30px;height:30px;position:absolute;top:-20px;right:-14px}.btn--paper{background:var(--paper-card)}.btn--teal{background:var(--hl-teal)}.btn--pink{background:var(--hl-pink)}.btn--small{min-height:var(--tap);padding:0 var(--s-4);font-size:var(--t-md);box-shadow:var(--shadow-ink-sm)}.btn--small:active:not(:disabled){transform:translate(3px,3px)}.btn svg{flex:none;width:1.2em;height:1.2em}.btn[aria-busy=true]{cursor:progress}.icon-btn{width:var(--tap);height:var(--tap);border:var(--stroke) solid var(--ink);border-radius:var(--rough-b);background:var(--paper-card);color:var(--ink);box-shadow:var(--shadow-ink-sm);cursor:pointer;place-items:center;padding:0;display:inline-grid}.icon-btn:active{box-shadow:none;transform:translate(3px,3px)}.icon-btn svg{width:26px;height:26px}.card{padding:var(--s-5) var(--s-4) var(--s-4);border:var(--stroke) solid var(--ink);border-radius:var(--rough-b);background:var(--paper-card);box-shadow:var(--shadow-ink);position:relative}.tape:before{content:"";background:var(--tape);border-left:1px dashed #1111112e;border-right:1px dashed #1111112e;width:92px;height:26px;position:absolute;top:-13px;left:50%;translate:-50%;rotate:-3deg}.sticker{align-items:center;gap:var(--s-1);min-height:36px;padding:2px var(--s-3);border:var(--stroke) solid var(--ink);border-radius:var(--rough-pill);background:var(--hl-teal);font:400 var(--t-md) / 1 var(--font-marker);display:inline-flex;rotate:-3deg}.sticker--yellow{background:var(--hl-yellow)}.sticker--pink{background:var(--hl-pink)}.sticker--paper{background:var(--paper-card)}.stamp{padding:var(--s-2) var(--s-4);border:var(--stroke-bold) solid var(--ink);outline:var(--stroke-thin) solid var(--ink);outline-offset:3px;border-radius:var(--rough-a);background:var(--hl-teal);font:400 var(--t-xl) / 1 var(--font-marker);text-transform:uppercase;letter-spacing:.02em;display:inline-block;rotate:-6deg}.stamp--in{animation:stamp-in var(--dur-3) var(--ease-out) both}@keyframes stamp-in{0%{opacity:0;rotate:-14deg;scale:1.9}to{opacity:1;rotate:-6deg;scale:1}}.note{font:400 var(--t-md) / 1.2 var(--font-marker);color:var(--ink-2)}.field{gap:var(--s-2);display:grid}.field>span{font:400 var(--t-lg) / 1.1 var(--font-marker)}.input{width:100%;min-height:var(--tap-lg);padding:var(--s-2) var(--s-3);border:var(--stroke) solid var(--ink);border-radius:var(--rough-a);background:var(--paper-card);color:var(--ink);font:400 var(--t-xl) / 1.1 var(--font-marker);box-shadow:inset 0 -6px 0 var(--paper-shade)}.input::placeholder{color:var(--ink-3);opacity:1}.input:focus-visible{outline-offset:2px}.input[aria-invalid=true]{background:linear-gradient(transparent 70%, var(--hl-pink) 70%) var(--paper-card)}.field-error{font-size:var(--t-sm);color:var(--ink)}.field-error:not(:empty):before{content:"";background:var(--hl-pink);border:1.5px solid var(--ink);border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.screen{min-height:100dvh;padding:max(var(--s-4), env(safe-area-inset-top)) var(--gutter) max(var(--s-4), env(safe-area-inset-bottom));flex-direction:column;display:flex}.stack{gap:var(--s-4);flex-direction:column;display:flex}.stack-lg{gap:var(--s-6);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-3);display:flex}.spacer{flex:1}.screen{width:100%;max-width:560px;margin-inline:auto}[tabindex="-1"]:focus{outline:none}.topbar{align-items:center;gap:var(--s-3);min-height:56px;display:flex}.wordmark{font:400 var(--t-xl) / 1 var(--font-marker);letter-spacing:-.01em}.wordmark b{background:var(--swipe-teal) center / 100% 70% no-repeat;padding:0 .08em 0 .02em;font-weight:400}.lead{font-size:var(--t-lg);color:var(--ink-2);max-width:30ch;line-height:1.4}.center{text-align:center;align-items:center}.grow{flex-direction:column;flex:1;justify-content:center;display:flex}.bottom{padding-top:var(--s-5);gap:var(--s-3);align-self:stretch;width:100%;margin-top:auto;display:grid}.linkish{padding:var(--s-2) 0;min-height:var(--tap);font:400 var(--t-md) / 1.2 var(--font-body);color:var(--ink);text-underline-offset:5px;cursor:pointer;background:0 0;border:0;text-decoration:underline;text-decoration-thickness:2px}.steps{gap:var(--s-2);margin:0;padding-left:1.4em;display:grid}.steps li::marker{font-family:var(--font-marker)}.toast{left:var(--gutter);right:var(--gutter);bottom:max(var(--s-4), env(safe-area-inset-bottom));z-index:50;padding:var(--s-3) var(--s-4);border:var(--stroke) solid var(--ink);border-radius:var(--rough-b);background:var(--paper-card);box-shadow:var(--shadow-ink);font-size:var(--t-md);animation:toast-in var(--dur-2) var(--ease-out) both;position:fixed}.toast--warn{background:var(--hl-pink)}@keyframes toast-in{0%{opacity:0;translate:0 24px}}.draw{stroke-dasharray:var(--len,1000);stroke-dashoffset:var(--len,1000);animation:draw var(--dur-3) var(--ease-out) forwards}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.draw{stroke-dashoffset:0;animation:none}}.mascot{display:block;overflow:visible}.mascot .m-line{fill:none;stroke:var(--ink);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.mascot .m-face{fill:var(--paper-card);stroke:var(--ink);stroke-width:3.4px}.mascot .m-dish{fill:var(--hl-teal);stroke:var(--ink);stroke-width:3.4px;stroke-linejoin:round}.mascot .m-eye{fill:#fff;stroke:var(--ink);stroke-width:3px}.mascot .m-pupil{fill:var(--ink)}.mascot .m-glint{fill:#fff}.mascot .m-cheek{fill:var(--hl-pink)}.mascot .m-bobble{fill:var(--hl-yellow);stroke:var(--ink);stroke-width:3px}.mascot .m-z{font:400 18px var(--font-marker);fill:var(--ink)}.mascot .m-rim{stroke-width:2px}.mascot .m-antenna{transform-box:view-box;transform-origin:60px 34px;animation:antenna calc(1s / var(--antenna-hz,.8)) ease-in-out infinite alternate}@keyframes antenna{0%{rotate:-9deg}to{rotate:9deg}}.bubble{max-width:17em;padding:var(--s-2) var(--s-3);border:var(--stroke) solid var(--ink);border-radius:var(--rough-a);background:var(--paper-card);font:400 var(--t-md) / 1.25 var(--font-marker);position:relative}.bubble:before{content:"";background:var(--paper-card);border-left:var(--stroke) solid var(--ink);border-bottom:var(--stroke) solid var(--ink);border-radius:0 0 0 4px;width:16px;height:16px;position:absolute;bottom:12px;left:-11px;rotate:45deg}.radar{aspect-ratio:1;width:min(100%,360px);margin-inline:auto;position:relative}.radar-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.radar-svg .r-ring{fill:none;stroke:var(--ink);stroke-linecap:round}.radar-svg .r-ring--inner{stroke-dasharray:1 7}.radar-svg .r-label{font:400 13px var(--font-marker);fill:var(--ink-2);paint-order:stroke;stroke:var(--paper);stroke-width:4px}.radar-svg .r-note{font:400 14px var(--font-marker);fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:5px;stroke-linejoin:round}.radar-svg .r-arrow{fill:none;stroke:var(--ink);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.radar-svg .r-accband{fill:none;stroke:var(--hl-teal);stroke-width:9px;stroke-linecap:round}.radar-svg .r-accmark{fill:none;stroke:var(--ink);stroke-width:2.6px;stroke-linecap:round}.radar-svg .r-wedge{fill:var(--hl-yellow);stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;transition:opacity var(--dur-2) var(--ease-out)}.radar-svg .r-acc{fill:var(--hl-teal);fill-opacity:.22;stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:3 5}.radar-svg .r-zone{fill:none;stroke:var(--ink);stroke-width:2px;stroke-dasharray:6 6}.radar-svg .r-x{fill:none;stroke:var(--ink);stroke-linecap:round}.radar-svg .r-x-bg{fill:var(--hl-pink)}.radar-svg .r-north text{font:400 16px var(--font-marker);fill:var(--ink)}.radar-svg .r-north circle{fill:var(--paper-card);stroke:var(--ink);stroke-width:2px}.radar-svg .r-forward{fill:var(--ink)}.radar-readout{place-content:center;justify-items:center;gap:var(--s-2);pointer-events:none;text-align:center;display:grid;position:absolute;inset:0}.radar-readout .num{font-size:var(--t-num);letter-spacing:-.02em;paint-order:stroke fill;-webkit-text-stroke:10px var(--paper);line-height:.9}.radar-readout .num small{letter-spacing:0;font-size:.42em}.radar-readout .phase{left:50%;top:var(--phase-top,73%);font:400 var(--t-lg) / 1 var(--font-marker);letter-spacing:.04em;white-space:nowrap;position:absolute;translate:-50%}
