@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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;--color-zinc-900:oklch(21% .006 285.885);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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;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}html,body{color:#1a1a18;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:#fafaf8;margin:0;padding:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}body{overscroll-behavior-y:contain}#app{flex-direction:column;min-height:100dvh;display:flex}#app>:only-child,#app>main,#app>[data-hs-main]{flex:auto;min-height:0}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-dvh{height:100dvh}.min-h-dvh{min-height:100dvh}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.safe-top{padding-top:max(env(safe-area-inset-top),16px)}.safe-bottom{padding-bottom:max(env(safe-area-inset-bottom),16px)}.text-zinc-900{color:var(--color-zinc-900)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.game-root{background:#fafaf8;flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.page-shell{will-change:transform,opacity;background:#fafaf8;flex-direction:column;display:flex;position:absolute;inset:0}.page-dark{background:#18160f}@keyframes pg-exit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.93)translateY(-20px)}}@keyframes pg-enter{0%{opacity:0;transform:translateY(100%)}50%{opacity:1}82%{transform:translateY(-8px)}to{transform:translateY(0)}}.page-exit{pointer-events:none;z-index:1;animation:.42s cubic-bezier(.4,0,.8,1) forwards pg-exit}.page-enter{z-index:2;animation:.58s cubic-bezier(.22,1,.36,1) forwards pg-enter}.dot-grid{opacity:.38;pointer-events:none;background-image:radial-gradient(circle,#c0c0b8 1px,#0000 1px);background-size:5.33333vw 5.33333vw;position:absolute;inset:0}.page-dark .dot-grid{opacity:.6;background-image:radial-gradient(circle,#3a3830 1px,#0000 1px)}.grain-svg{pointer-events:none;opacity:.045;z-index:1;width:100%;height:100%;position:absolute;inset:0}.page-body{z-index:2;padding:max(env(safe-area-inset-top),13.86667vw) 6.4vw 5.33333vw;flex-direction:column;flex:1;align-items:center;display:flex;position:relative;overflow-y:auto}.page-footer{z-index:3;padding:3.2vw 6.4vw max(env(safe-area-inset-bottom),6.4vw);background:linear-gradient(#0000,#fafaf8 28%);flex-direction:column;align-items:center;gap:2.13333vw;display:flex;position:relative}.page-dark .page-footer{background:linear-gradient(#0000,#18160f 28%)}@keyframes cta-rise-anim{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.cta-rise{animation:.36s cubic-bezier(.22,1,.36,1) both cta-rise-anim}.mono-label{letter-spacing:.07em;color:#8a8a80;font-family:JetBrains Mono,Fira Mono,monospace;font-size:2.93333vw}.muted-label{color:#b0afa8;text-align:center;margin:0;font-size:3.2vw}.game-subtitle{color:#8a8a80;text-align:center;margin:2.66667vw 0 0;font-size:4vw;line-height:1.65}.btn-primary{color:#fafaf8;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1a1a18;border:none;border-radius:4.26667vw;justify-content:center;align-items:center;gap:2.13333vw;min-height:13.86667vw;padding:4vw 7.46667vw;font-size:4vw;font-weight:600;transition:background .16s,transform .11s;display:inline-flex}.btn-primary:active{background:#2e2c26;transform:scale(.97)}.btn-primary:disabled{opacity:.45;pointer-events:none}.btn-full{width:100%}.btn-light{color:#f0ede6;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(1.6vw);backdrop-filter:blur(1.6vw);background:#ffffff1f;border:.4vw solid #fff3;border-radius:4.26667vw;justify-content:center;align-items:center;gap:2.13333vw;min-height:13.86667vw;padding:4vw 7.46667vw;font-size:4vw;font-weight:600;transition:background .16s,transform .11s;display:inline-flex}.btn-light:active{background:#fff3;transform:scale(.97)}.btn-light:disabled{opacity:.4;pointer-events:none}.icon-badge{background:#f0ede6;border:.4vw solid #e0dcd4;border-radius:5.33333vw;justify-content:center;align-items:center;width:19.2vw;height:19.2vw;display:flex}.intro-body{justify-content:center;gap:0;padding-bottom:0}.intro-deco-char{color:#e8e4dc;letter-spacing:-.05em;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-family:Georgia,Times New Roman,serif;font-size:69.33333vw;font-weight:900;line-height:1;position:absolute;top:-2%;left:-8%}.wax-seal{z-index:1;background:#fdf5f0;border:.4vw solid #f0c8b8;border-radius:50%;justify-content:center;align-items:center;width:14.93333vw;height:14.93333vw;margin-bottom:5.33333vw;display:flex;position:relative;box-shadow:0 .53333vw 2.13333vw #d4847c2e}.intro-text-block{z-index:1;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.intro-eyebrow{letter-spacing:.16em;color:#c07040;text-transform:uppercase;margin:0 0 3.2vw;font-size:3.2vw;font-weight:500}.intro-title{letter-spacing:-.04em;text-align:center;color:#1a1a18;margin:0;font-family:Georgia,Times New Roman,serif;font-size:13.86667vw;font-weight:900;line-height:1.08}.intro-divider{background:linear-gradient(90deg,#0000,#d4847c,#0000);border-radius:.53333vw;width:10.66667vw;height:.53333vw;margin:5.33333vw auto}.intro-sub{color:#8a8a80;text-align:center;margin:0;font-size:4vw;line-height:1.7}.intro-hint-row{align-items:center;gap:2.13333vw;margin-top:7.46667vw;display:flex}.prog-bar-track{background:#e8e4dc;border-radius:.53333vw;flex:1;height:.8vw;overflow:hidden}.prog-bar-fill{background:linear-gradient(90deg,#d4847c,#c07040);border-radius:.53333vw;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.q-body{padding-top:max(env(safe-area-inset-top),11.73333vw);gap:0}.q-topbar{align-items:center;gap:3.2vw;width:100%;margin-bottom:8.53333vw;display:flex}.q-text-wrap{width:100%;margin-bottom:7.46667vw}.q-text-main{letter-spacing:-.025em;color:#1a1a18;margin:0;font-size:6.93333vw;font-weight:800;line-height:1.28}.q-text-cont{letter-spacing:-.025em;color:#d4847c;margin:0;font-size:6.93333vw;font-weight:800;line-height:1.28}.choices-list{flex-direction:column;gap:2.66667vw;width:100%;display:flex}.choice-btn{color:#1a1a18;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:#f5f2ec;border:.4vw solid #e0dcd4;border-radius:3.73333vw;align-items:center;gap:3.2vw;width:100%;min-height:13.86667vw;padding:3.73333vw;font-size:3.73333vw;font-weight:500;transition:background .18s,border-color .18s,transform .1s,opacity .2s;display:flex;position:relative;overflow:hidden}.choice-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#d4847c0f,#0000);transition:opacity .2s;position:absolute;inset:0}.choice-btn:active{transform:scale(.985)}.choice-btn:active:before{opacity:1}.choice-marker{background:#e8e4dc;border-radius:2.4vw;flex-shrink:0;justify-content:center;align-items:center;width:7.46667vw;height:7.46667vw;font-family:JetBrains Mono,monospace;font-size:2.93333vw;font-weight:700;transition:background .2s,color .2s;display:flex}.choice-label{flex:1}.choice-check{color:#fff;flex-shrink:0;margin-left:auto}.choice-chosen{color:#fafaf8;background:#1a1a18;border-color:#1a1a18}.choice-chosen .choice-marker{color:#fff;background:#d4847c}.choice-dimmed{opacity:.28;pointer-events:none}.reply-wrap{width:100%;margin-top:4.26667vw}.reply-bubble{background:#fdf5f0;border:.4vw solid #f0c8b8;border-radius:3.73333vw;align-items:flex-start;gap:2.66667vw;padding:3.73333vw 4.26667vw;display:flex}.reply-text{color:#3a2a22;margin:0;font-size:4vw;font-style:italic;font-weight:500;line-height:1.6}@keyframes reply-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.reply-enter{animation:.32s cubic-bezier(.22,1,.36,1) both reply-pop}.poem-body{padding-top:max(env(safe-area-inset-top),13.86667vw);justify-content:center;gap:0}.poem-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#d4847c24,#0000 70%);border-radius:50%;width:85.33333vw;height:85.33333vw;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.poem-header{z-index:1;align-items:center;gap:2.13333vw;margin-bottom:7.46667vw;display:flex;position:relative}.poem-lines-wrap{z-index:1;flex-direction:column;gap:3.73333vw;width:100%;display:flex;position:relative}.poem-line{color:#e8e2d6;margin:0;font-size:4.8vw;line-height:1.7;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1)}.poem-line-out{opacity:0;transform:translateY(2.66667vw)}.poem-line-in{opacity:1;transform:translateY(0)}.poem-accent{color:#d4847c;margin-top:1.6vw;font-family:Georgia,Times New Roman,serif;font-size:5.86667vw;font-weight:700}.ask-body{text-align:center;justify-content:center;gap:0}.ask-heart-wrap{justify-content:center;align-items:center;width:26.66667vw;height:26.66667vw;margin-bottom:5.33333vw;display:flex;position:relative}.ask-heart-ring{background:radial-gradient(circle,#d4847c2e,#0000 70%);border-radius:50%;animation:2s ease-in-out infinite ring-pulse;position:absolute;inset:0}@keyframes ring-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.4;transform:scale(1.18)}}.ask-heart-wrap iconify-icon{animation:1.4s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}44%{transform:scale(1.09)}58%{transform:scale(1)}}.ask-title{letter-spacing:-.025em;color:#1a1a18;margin:0 0 2.66667vw;font-size:7.46667vw;font-weight:800;line-height:1.25}.ask-sub{color:#8a8a80;margin:0;font-size:3.73333vw}.dodge-hint{color:#b0afa8;margin-top:3.2vw;font-size:3.2vw}.ask-footer{background:linear-gradient(#0000,#fafaf8 35%);flex-direction:row;justify-content:center;align-items:center;gap:3.73333vw}.no-track{justify-content:center;align-items:center;width:25.6vw;height:12.8vw;display:flex;position:relative;overflow:visible}.btn-yes{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#d4847c;border:none;border-radius:4.26667vw;align-items:center;gap:2.13333vw;min-width:29.33333vw;min-height:13.86667vw;padding:4vw 9.6vw;font-size:4.53333vw;font-weight:700;transition:background .16s,transform .11s;display:inline-flex}.btn-yes:active{background:#c0706a;transform:scale(.96)}.btn-yes:disabled{opacity:.5;pointer-events:none}.btn-no{color:#8a8a80;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#f0ede6;border:.4vw solid #e0dcd4;border-radius:3.73333vw;justify-content:center;align-items:center;min-height:12.26667vw;padding:3.46667vw 4.8vw;font-size:3.46667vw;font-weight:500;transition:transform .26s cubic-bezier(.34,1.56,.64,1),opacity .26s;display:inline-flex;position:relative}.hearts-stage{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.floating-heart{opacity:0;animation:linear infinite float-up;position:absolute}@keyframes float-up{0%{opacity:0;transform:translateY(16px)scale(.6)rotate(-10deg)}10%{opacity:.7}90%{opacity:.3}to{opacity:0;transform:translateY(-140px)scale(1.1)rotate(10deg)}}.letter-body{padding-top:max(env(safe-area-inset-top),9.6vw);justify-content:flex-start;align-items:center;gap:0;overflow-y:auto}.letter-seal{opacity:0;background:#fdf5f0;border:.53333vw solid #f0c8b8;border-radius:50%;justify-content:center;align-items:center;width:19.2vw;height:19.2vw;margin-bottom:4.26667vw;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.34,1.56,.64,1);display:flex;transform:scale(.5)rotate(-12deg);box-shadow:0 1.06667vw 4.26667vw #d4847c38,0 0 0 1.6vw #d4847c12}.seal-in{opacity:1;transform:scale(1)rotate(0)}.letter-card{transform-origin:top;opacity:0;background:#fffdf8;border:1px solid #e8e0d0;border-radius:1.06667vw 1.06667vw .53333vw .53333vw;width:100%;transition:transform .48s cubic-bezier(.22,1,.36,1),opacity .3s;position:relative;overflow:hidden;transform:scaleY(.05);box-shadow:0 .53333vw #e8dcc8,0 1.06667vw #ddd0bc,0 2.13333vw 6.4vw #3c28141f,inset 0 0 0 1px #fff9}.letter-open{opacity:1;transform:scaleY(1)}.letter-lines{pointer-events:none;flex-direction:column;justify-content:space-around;padding:14.93333vw 0 6.4vw;display:flex;position:absolute;inset:0}.letter-rule{background:#b4a0782e;width:100%;height:1px}.letter-card:before{content:"";pointer-events:none;background:#d4847c38;width:1px;position:absolute;top:0;bottom:0;left:11.73333vw}.letter-content{z-index:1;opacity:0;padding:5.86667vw 5.33333vw 6.4vw 13.86667vw;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);position:relative;transform:translateY(2.66667vw)}.letter-text-in{opacity:1;transform:translateY(0)}.letter-date{text-align:right;margin:0 0 4.26667vw;font-family:Georgia,serif;font-style:italic}.letter-greeting{color:#2a2018;margin:0 0 3.73333vw;font-family:Georgia,Times New Roman,serif;font-size:4.26667vw;font-weight:600}.letter-para{color:#3a3020;margin:0 0 3.73333vw;font-family:Georgia,Times New Roman,serif;font-size:3.73333vw;line-height:1.9}.letter-sign{color:#5a4030;text-align:right;justify-content:flex-end;align-items:center;gap:1.6vw;margin:4.8vw 0 0;font-family:Georgia,serif;font-size:3.73333vw;font-style:italic;display:flex}.letter-sign-deco{align-items:center;display:inline-flex}.letter-ps{border-top:1px dashed #d4c4a8;flex-direction:column;gap:1.6vw;margin-top:5.33333vw;padding-top:3.73333vw;display:flex}.letter-ps-text{color:#6a5040;margin:0;font-family:Georgia,serif;font-size:3.2vw;font-style:italic;line-height:1.7}.no-body{text-align:center;justify-content:center;gap:0}@media(prefers-reduced-motion:reduce){.page-exit,.page-enter,.cta-rise,.reply-enter,.floating-heart,.ask-heart-wrap iconify-icon,.ask-heart-ring,.poem-line,.letter-seal,.letter-card,.letter-content{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
