*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.resize{resize:both}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap");:root{--rose:#df6292;--wine:#a9416c;--ink:#4f3545;--lav:#af91d4;--cream:#fff9f2}*{box-sizing:border-box}html{background:#fff4f7}body{margin:0;color:var(--ink);font-family:DM Sans,sans-serif;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b68fdc;outline-offset:3px}main{min-height:100svh;display:grid;place-items:center;overflow:hidden;position:relative;padding:28px 18px;background:radial-gradient(circle at 19% 14%,#fffdf8 0 6%,transparent 24%),radial-gradient(circle at 82% 78%,#e9dcfb 0 4%,transparent 23%),linear-gradient(135deg,#fff6f3,#fceaf0 48%,#f3eafa)}main:after,main:before{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.6}main:before{width:360px;height:360px;background:#ffd1e2;top:-160px;right:-110px}main:after{width:300px;height:300px;background:#d7c3ef;bottom:-150px;left:-90px}.theme-toggle{position:absolute;z-index:3;top:22px;right:24px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(211,142,175,.3);background:rgba(255,255,255,.7);color:#85536c;border-radius:999px;padding:9px 13px;box-shadow:0 5px 20px rgba(127,69,105,.12);font-size:13px;font-weight:700;backdrop-filter:blur(10px);transition:transform .2s,background .2s}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;outline:0;padding:0 14px 0 0}.theme-toggle:has(select:focus-visible){outline:3px solid #b68fdc;outline-offset:3px}.sr-only{width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.background-decor,.sr-only{position:absolute;overflow:hidden}.background-decor{pointer-events:none;inset:0;color:#e673a4;opacity:.55}.background-decor i{position:absolute;font-style:normal;animation:drift 7s ease-in-out infinite}.background-decor i:first-child{top:11%;left:9%;font-size:28px}.background-decor i:nth-child(2){top:21%;right:12%;font-size:20px;animation-delay:-3s}.background-decor i:nth-child(3){bottom:13%;left:13%;font-size:30px;animation-delay:-1s}.background-decor i:nth-child(4){bottom:17%;right:9%;font-size:19px;animation-delay:-4s}.background-decor i:nth-child(5){top:65%;left:5%;font-size:17px;animation-delay:-5s}.background-decor i:nth-child(6){top:7%;right:29%;font-size:22px;animation-delay:-2s}.panel{width:min(100%,550px);z-index:1;padding:43px 48px 37px;text-align:center;border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.62));border:1px solid rgba(255,255,255,.9);box-shadow:0 22px 70px rgba(137,77,114,.18),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(16px)}.mini-icon{width:54px;height:54px;margin:0 auto 17px;display:grid;place-items:center;border-radius:19px;color:#c74f80;background:linear-gradient(140deg,#fff,#f7d7e4);box-shadow:0 9px 22px #d99ab144}.eyebrow{margin:0 0 9px;color:#af6787;letter-spacing:.18em;font-size:11px;font-weight:700}h1,h2{font-family:Playfair Display,Georgia,serif;line-height:.99;margin:0;color:#562a41;letter-spacing:-.035em}h1{font-size:48px}h2{font-size:39px}h1 em,h2 em{color:#d95688}.vietnamese-title{margin:15px 0 0;font-weight:700;color:#9c617d;font-size:15px}.intro{max-width:405px;margin:22px auto 27px;line-height:1.65;font-size:15px;color:#6f5360}.select-label{display:block;text-align:left;font-weight:700;font-size:13px;color:#704b5d;margin:0 0 8px}.password-wrap,.select-wrap{position:relative}.password-wrap input,.select-wrap select{width:100%;border:1.5px solid #eed5e0;background:#fffdfd;color:#694a59;border-radius:15px;height:54px;padding:0 45px 0 17px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select-wrap svg{position:absolute;right:15px;top:17px;color:#ba7794;pointer-events:none}.primary-button{border:0;width:100%;height:54px;margin-top:17px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:9px;color:white;font-weight:700;background:linear-gradient(110deg,#db5687,#bd5792 55%,#9d74bc);box-shadow:0 12px 22px #bd5e8c55;transition:transform .2s,box-shadow .2s}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 26px #bd5e8c70}.primary-button:disabled{opacity:.5;cursor:not-allowed}.hint{font-size:12px;color:#a98798;margin:19px 0 0}.back-button{padding:0;border:0;background:transparent;color:#9e6680;display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;position:absolute;top:24px;left:25px}.password-panel{position:relative}.password-wrap input{letter-spacing:.45em;font-size:20px;font-weight:700;text-align:center;padding:0 48px 0 20px}.password-wrap button{position:absolute;right:13px;top:16px;border:0;background:transparent;color:#a56b87}.error{text-align:left;color:#cf4672;margin:8px 2px 0;font-size:13px}.password-panel form .primary-button{margin-top:18px}.scratch-section{position:relative;z-index:1;width:min(94vw,680px);text-align:center}.scratch-heading{color:#895879;font-weight:700;margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:7px}.scratch-frame{position:relative;border-radius:29px;overflow:hidden;aspect-ratio:1.65;box-shadow:0 20px 50px #9c547b44;border:7px solid rgba(255,255,255,.76);background:white}.greeting{position:absolute;inset:0;padding:7% 11%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 15% 20%,#fff,#fff6f6 38%,#f0e5fb)}.greeting-label{color:#c2618c;text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:12px;margin:0 0 10px}.greeting h2{font-size:clamp(29px,5vw,49px)}.greeting>p:not(.greeting-label){max-width:430px;line-height:1.5;font-size:clamp(14px,2vw,17px);margin:16px 0 12px;color:#704d60}.greeting span{font-size:13px;color:#b76c91}.scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.progress{color:#946c80;font-size:13px;margin:13px 0}.celebration-flowers{font-size:22px;letter-spacing:4px;margin:-7px 0 17px;animation:drift 3s ease-in-out infinite}.celebrate-copy{font-size:18px;line-height:1.55;margin:24px auto 10px;color:#714e60}.celebrate-copy strong{color:#c74f80}.signature{font-size:14px;line-height:1.6;color:#907080;margin:0 auto 8px;max-width:360px}.secondary-button{margin-top:13px;background:transparent;color:#92647b;gap:7px;font-size:13px}.scratch-continue,.secondary-button{border:0;display:inline-flex;align-items:center;font-weight:700}.scratch-continue{border-radius:999px;padding:12px 19px;color:white;background:linear-gradient(110deg,#db5687,#a66ec0);box-shadow:0 10px 20px #bd5e8c50;gap:8px;transition:transform .2s}.scratch-continue:hover{transform:translateY(-2px)}@keyframes drift{50%{transform:translateY(-13px) rotate(8deg)}}@media(max-width:560px){main{padding:18px 14px}.panel{padding:38px 25px 31px;border-radius:28px}h1{font-size:40px}h2{font-size:34px}.back-button{top:18px;left:18px}.password-panel .mini-icon{margin-top:20px}.scratch-frame{border-width:5px;border-radius:23px}.greeting{padding:7% 8%}.greeting>p:not(.greeting-label){margin:10px 0 8px}.celebration-flowers{font-size:17px;letter-spacing:1px}}main[data-theme=dark]{background:radial-gradient(circle at 19% 14%,#453147 0 4%,transparent 24%),radial-gradient(circle at 82% 78%,#35274c 0 4%,transparent 23%),linear-gradient(135deg,#1d1725,#2a1d30 48%,#211a36)}main[data-theme=dark]:before{background:#65354e;opacity:.38}main[data-theme=dark]:after{background:#473463;opacity:.38}main[data-theme=dark] .theme-toggle{background:rgba(46,33,54,.82);border-color:rgba(234,189,219,.18);color:#f7dce9}main[data-theme=dark] .theme-toggle option{background:#2e2136;color:#f7dce9}main[data-theme=dark] .panel{background:linear-gradient(135deg,rgba(52,37,58,.9),rgba(38,28,49,.78));border-color:rgba(255,237,250,.14);box-shadow:0 22px 70px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.08)}main[data-theme=dark] h1,main[data-theme=dark] h2{color:#fff2f8}main[data-theme=dark] h1 em,main[data-theme=dark] h2 em{color:#ff9ac0}main[data-theme=dark] .vietnamese-title{color:#ebb6ce}main[data-theme=dark] .celebrate-copy,main[data-theme=dark] .intro{color:#ead7e3}main[data-theme=dark] .eyebrow,main[data-theme=dark] .hint,main[data-theme=dark] .signature{color:#d8afc5}main[data-theme=dark] .select-label{color:#f0d8e6}main[data-theme=dark] .password-wrap input,main[data-theme=dark] .select-wrap select{background:rgba(25,18,31,.75);border-color:#765267;color:#fae7f1}main[data-theme=dark] .back-button,main[data-theme=dark] .password-wrap button,main[data-theme=dark] .secondary-button,main[data-theme=dark] .select-wrap svg{color:#e4aac5}main[data-theme=dark] .mini-icon{background:linear-gradient(140deg,#67405a,#382a49);color:#ffacd0;box-shadow:none}main[data-theme=dark] .progress,main[data-theme=dark] .scratch-heading{color:#f4c4da}main[data-theme=dark] .greeting{background:radial-gradient(circle at 15% 20%,#4d324b,#33243e 55%,#29213d)}main[data-theme=dark] .greeting span,main[data-theme=dark] .greeting-label{color:#ffc2dc}main[data-theme=dark] .greeting>p:not(.greeting-label){color:#f3dce9}@media(max-width:560px){.theme-toggle{top:13px;right:14px;padding:8px 11px}.theme-toggle select{font-size:12px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}