/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}}:root{--cream:#f7f1e6;--paper:#fffaf2;--rose:#c96c75;--rose-dark:#9b424d;--rose-soft:#efd3d1;--green:#264b3f;--green-soft:#dbe8df;--ink:#2c2926;--muted:#756d64}*{box-sizing:border-box}html{background:var(--cream);min-height:100%}body{color:var(--ink);background:var(--cream);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.invitation-shell{isolation:isolate;background:radial-gradient(circle at 16% 18%,#efd3d1d1,#0000 30%),radial-gradient(circle at 86% 84%,#cfe2d3d9,#0000 32%),linear-gradient(145deg,#fbf6ed 0%,#f5eee5 52%,#edf3ec 100%);place-items:center;min-height:100svh;padding:88px 18px 62px;display:grid;position:relative;overflow:hidden}.invitation-shell:before,.invitation-shell:after{content:"";z-index:-1;border:1px solid #264b3f1a;border-radius:52% 48% 47% 53%;width:300px;height:300px;position:absolute}.invitation-shell:before{top:-170px;right:-100px;transform:rotate(25deg)}.invitation-shell:after{bottom:-200px;left:-80px;transform:rotate(-32deg)}.paper-grain{pointer-events:none;z-index:-1;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");position:absolute;inset:0}.card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf2d6;border:1px solid #ffffffe6;border-radius:38px;justify-content:center;align-items:center;width:min(100%,620px);min-height:600px;padding:clamp(28px,6vw,56px);display:flex;position:relative;box-shadow:0 28px 80px #3b2c2421,inset 0 1px #fff}.content{text-align:center;width:100%;animation:.7s cubic-bezier(.2,.8,.2,1) both reveal}@keyframes reveal{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.eyebrow{color:var(--rose-dark);letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;margin-bottom:18px;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.05}h1{font-size:clamp(44px,10vw,68px)}h2{font-size:clamp(34px,7vw,50px)}h3{margin-bottom:7px;font-family:Georgia,Times New Roman,serif;font-size:22px}.lead,.body-copy{max-width:470px;color:var(--muted);margin:0 auto 30px;font-size:17px;line-height:1.7}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:999px;min-height:56px;padding:14px 25px;font-weight:750;transition:transform .2s,box-shadow .2s,background .2s}.primary-button{color:#fffaf5;background:var(--green);justify-content:center;align-items:center;gap:13px;display:inline-flex;box-shadow:0 13px 28px #264b3f38}.secondary-button{color:var(--rose-dark);background:var(--rose-soft)}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:focus-visible,.secondary-button:focus-visible,.music-button:focus-visible,.text-button:focus-visible{outline-offset:4px;outline:3px solid #c96c7573}.envelope{background:#e7b4b0;border-radius:7px;width:150px;height:104px;margin:26px auto 38px;position:relative;transform:rotate(-3deg);box-shadow:0 18px 35px #7d47482e}.envelope:before,.envelope:after{content:"";clip-path:polygon(0 100%,0 30%,50% 68%,100% 30%,100% 100%);background:#efc9c5;border-radius:7px;position:absolute;inset:0}.envelope:after{clip-path:polygon(0 100%,50% 58%,100% 100%);background:#db9894}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 64%);z-index:2;background:#f4d5d1;position:absolute;inset:0}.wax-seal{z-index:3;color:#f9d9d4;background:var(--rose-dark);border-radius:50%;place-items:center;width:36px;height:36px;font-family:Georgia,serif;display:grid;position:absolute;top:49px;left:58px;box-shadow:0 4px 10px #4d222640}.progress{gap:8px;display:flex;position:absolute;top:26px;left:50%;transform:translate(-50%)}.progress-dot{background:#e8ddd2;border-radius:999px;width:22px;height:5px;transition:all .35s}.progress-dot.active{background:var(--rose);width:34px}.ciri-wrap{width:220px;height:235px;margin:-12px auto 18px;position:relative}.ciri-halo{background:var(--green-soft);border-radius:52% 48% 50% 46%;position:absolute;inset:28px 12px 2px;transform:rotate(7deg)}.ciri-image{z-index:1;object-fit:contain;filter:drop-shadow(0 14px 14px #47362d26);width:100%;height:100%;position:relative}.speech-bubble{z-index:2;color:var(--green);background:#fff;border-radius:18px 18px 18px 4px;padding:10px 13px;font-size:13px;font-weight:700;position:absolute;top:10px;right:-58px;transform:rotate(3deg);box-shadow:0 8px 22px #3227201a}.route{text-align:left;margin:28px 0 20px}.route-item{grid-template-columns:34px 50px 1fr;align-items:center;gap:12px;display:grid}.route-item p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.route-number{color:var(--rose);letter-spacing:.12em;font-size:11px;font-weight:850}.route-icon{background:var(--green-soft);border-radius:50%;place-items:center;width:50px;height:50px;font-size:23px;display:grid}.route-line{border-left:1px dashed #264b3f59;height:30px;margin:5px 0 5px 58px}.tiny-note{color:var(--rose-dark);margin:24px auto;font-family:Georgia,serif;font-size:15px;font-style:italic}.izumi-sticker{width:max-content;max-width:100%;color:var(--green);background:#ffffffbd;border:1px solid #c96c752e;border-radius:999px;align-items:center;gap:11px;margin:0 auto 26px;padding:10px 16px 10px 10px;display:flex;transform:rotate(-1.5deg);box-shadow:0 9px 24px #3b2c2414}.izumi-berry{filter:drop-shadow(0 3px 5px #5d2f311a);background:#f7e1df;border-radius:50%;place-items:center;width:40px;height:40px;font-size:23px;display:grid}.izumi-sticker>span:last-child{text-align:left;gap:1px;line-height:1.1;display:grid}.izumi-sticker strong{font-family:Georgia,serif;font-size:15px;font-weight:600}.izumi-sticker small{color:var(--muted);letter-spacing:.02em;font-size:10px}.big-heart{color:var(--rose);margin-bottom:18px;font-size:60px;line-height:1;animation:1.8s ease-in-out infinite pulse;display:block}@keyframes pulse{50%{opacity:.5}}.answer-buttons{gap:12px;max-width:340px;margin:0 auto;display:grid}.celebration{color:var(--rose);letter-spacing:.3em;margin-bottom:8px;font-size:28px}.finale-ciri{width:190px;height:190px;margin-bottom:12px}.signature{color:var(--rose-dark);gap:5px;margin:28px 0 20px;font-family:Georgia,serif;display:grid}.signature span{font-style:italic}.signature strong{font-size:22px;font-weight:500}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:4px 0;font-size:13px}.music-button{z-index:10;min-height:42px;color:var(--green);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#fffaf2c7;border:1px solid #264b3f1f;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:750;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 8px 24px #3a2f2614}.music-icon{color:#fff;background:var(--rose);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.music-icon.is-playing{animation:4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hearts{pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.floating-heart{color:#c96c7547;font-size:13px;animation:linear infinite float-up;position:absolute;bottom:-30px}@keyframes float-up{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(-110vh)rotate(140deg)}}.footer-note{color:#2c29267a;letter-spacing:.04em;margin:0;font-size:11px;position:absolute;bottom:22px}@media (width<=620px){.invitation-shell{align-items:start;padding:74px 12px 48px}.card{border-radius:30px;min-height:calc(100svh - 130px);padding:58px 24px 34px}.music-button{top:14px;right:14px}.speech-bubble{right:-28px}.route-item{grid-template-columns:26px 44px 1fr;gap:9px}.route-icon{width:44px;height:44px}.route-line{margin-left:47px}}@media (width<=380px){.music-button span:last-child{display:none}.ciri-wrap{width:190px;height:205px}.speech-bubble{top:2px;right:-18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
