/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif:Georgia, "Songti SC", "Noto Serif SC", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--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);--color-paper:#fbf7ed;--color-ink:#442c22;--color-muted:#735c4d;--color-honey:#ecc447}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::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-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--paper-texture:url(/assets/art/paper-grain.webp);color:var(--color-ink);font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e9e2d5}*{box-sizing:border-box}body{min-width:280px;margin:0;font-size:16px;line-height:1.75}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline-offset:4px;outline:3px solid #5c999f}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-serif);font-weight:600}h1{letter-spacing:-.022em;font-size:clamp(28px,7.6vw,34px);line-height:1.4}h2{letter-spacing:-.012em;font-size:23px;line-height:1.5}input{background-color:#fffdf6;background-image:var(--paper-texture);width:100%;min-height:54px;color:var(--color-ink);background-size:640px;border:1px solid #bbaa93;border-radius:10px 8px 11px 9px;padding:12px 16px;scroll-margin-block:24px;display:block}input::placeholder{color:#8b7361}input:disabled{background-blend-mode:multiply;color:var(--color-muted);background-color:#ede5d8}label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}small{font-size:12px;font-weight:400}}@layer components{.art-sprite{flex-shrink:0;width:100%;display:block;position:relative;container-type:size}.art-sprite-viewport{display:block;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.art-sprite-viewport>img{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;display:block;position:absolute}.cover-tree{width:100%;height:270px;position:absolute;top:-35px}.cover-tree>svg{width:100%;height:100%}.reading-apples .apple-character{width:116px}.cover-hands{background:#947657;width:22px;height:4px;position:absolute;top:72%}.book-button{transform-origin:0;background:#ad4f41;border-color:#8b4939}.character-row .apple-character{width:84px}.story-experience{max-width:520px;margin:auto;padding:12px 24px 32px}.story-toolbar{justify-content:space-between;align-items:center;min-height:48px;display:flex}.story-toolbar .button{padding-left:0}.story-focus{outline:none}.story-heading{padding:28px 0 24px}.story-heading h1{margin:10px 0 12px;font-size:clamp(26px,7vw,32px)}.story-heading p:not(.eyebrow){color:#79684f;font-size:16px}.story-progress{color:#60765b;letter-spacing:.04em;margin-top:14px;font-size:14px;display:inline-block}.story-chapter-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.story-chapter-progress{color:#60765b;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}.story-copy{padding:28px 4px 12px;font-size:18px;line-height:1.9}.story-actions{flex-direction:column;align-items:stretch;gap:4px;margin-top:24px;display:flex}.story-actions .button-primary{align-self:flex-start;min-width:176px}.story-actions .button-quiet{align-self:flex-start}.asset-picture{width:100%;height:100%;position:relative}.asset-picture>.asset-loaded{object-fit:contain;width:100%;height:100%;display:block}.asset-picture>.asset-pending{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.apple-character{flex-shrink:0;width:112px;height:auto}.apple-character>svg{width:100%;height:100%;display:block}.story-scene{aspect-ratio:4/3;isolation:isolate;background:linear-gradient(#d7e5df,#f5ebd2);border-radius:48% 44% 8% 12%/10% 12% 8% 6%;width:100%;position:relative;overflow:hidden}.scene-props{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.scene-couple{z-index:1;justify-content:center;align-items:flex-end;gap:16px;display:flex;position:absolute;top:auto;bottom:8%;left:0;right:0}.scene-couple .apple-character{width:27%}.joined-hands{background:#796343;width:28px;height:3px;position:absolute;bottom:24%;left:calc(50% - 14px);transform:rotate(-4deg)}.scene-grass{color:#83946a;position:absolute;bottom:12px;right:22px}.scene-first_hello_phone{background:linear-gradient(90deg,#d6e5dc 49.7%,#ece0c6 50%)}.scene-first_hello_phone .scene-couple{gap:28%;bottom:12%}.scene-first_hello_phone .joined-hands,.scene-argument_and_tears .joined-hands,.scene-meeting_family .joined-hands{display:none}.scene-christmas_coffee{background:radial-gradient(at 26% 30%,#f4dbad,#ddc6a6 65%,#c6b7a0)}.scene-christmas_coffee .scene-couple{gap:8%;bottom:15%;left:-12%}.scene-new_year_fireworks_blue_roses{background:linear-gradient(155deg,#e4d4ba,#c5c1b3 64%,#eddcae)}.scene-yulong_snow_mountain_selfie{background:linear-gradient(#c8e1e7,#e7ebdf 64%,#f8f5e9)}.scene-yulong_snow_mountain_selfie .scene-couple{gap:0}.scene-seaside_starry_night{background:linear-gradient(#465d78,#7d97a9 62%,#bdcbbf)}.scene-argument_and_tears{background:linear-gradient(145deg,#d9d4d0,#cbd5d6 60%,#ede1cd)}.scene-argument_and_tears .scene-couple{gap:25%}.scene-argument_and_tears .character-C{transform:rotate(-8deg)}.scene-argument_and_tears .character-K{transform:rotate(8deg)}.scene-meeting_family{background:linear-gradient(#e7d8c4,#c7c7a4)}.scene-meeting_family .scene-couple{gap:2%;width:48%;bottom:2%;left:2%}.scene-meeting_family .scene-couple .apple-character{width:48%}.family-apples{width:54%;display:flex;position:absolute;bottom:13%;right:0}.family-apples .apple-character{width:50%}.scene-fuji_amusement_park{background:linear-gradient(#d2e4e6 40%,#c7d0a2 75%,#dfc7a1)}.scene-fuji_amusement_park .scene-couple{bottom:15%}.scene-jiangxi_trip{background:linear-gradient(#e5e9d6,#b7ccbc 60%,#c3caab)}.scene-guizhou_fruit_dinner{background:radial-gradient(at 50% 36%,#f2dfb7,#d9b892)}.scene-guizhou_fruit_dinner .scene-couple{gap:22%;bottom:21%}.scene-proposal{background:radial-gradient(at 50% 20%,#fcf0b8,#dfebd8 64%,#e9d9b5)}.scene-proposal .character-K{transform:translateY(12px)rotate(-12deg)}.scene-bouquet{background:radial-gradient(circle at 35% 20%,#fcf0bd,#ece4cf)}.scene-kite{background:linear-gradient(#d1e6ea,#e9eed5 75%,#becaa0)}.scene-rain{background:linear-gradient(#c4d6d9,#e4e5d7 70%,#c2cebb)}.scene-tree{background:linear-gradient(#edf0d4,#c3cda8)}.scene-tree .scene-couple{gap:28%;bottom:2%}.timeline-tree{aspect-ratio:1219/1440;isolation:isolate;margin:-12px -8px 0;position:relative}.timeline-tree>.story-tree-art{z-index:1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.timeline-meadow{pointer-events:none;width:100%;height:24%;position:absolute;bottom:0;left:0}.timeline-meadow-front{z-index:2;clip-path:polygon(0 74%,100% 74%,100% 100%,0 100%)}.time-apple{z-index:3;aspect-ratio:1;color:#493e30;background:0 0;border:0;width:clamp(50px,17%,80px);padding:0;position:absolute;transform:translate(-50%,-50%)}.time-apple>.art-sprite{width:100%;height:100%}.apple-node-copy{text-align:center;width:max(100%,76px);font-family:var(--font-serif);background:var(--color-paper);background-image:var(--paper-texture);border-radius:5px;padding:4px 3px;font-size:11px;line-height:1.25;position:absolute;top:83%;left:50%;transform:translate(-50%)}.apple-mark{background:#fbf7eb;border-radius:50%;min-width:20px;padding:2px;font-size:10px;position:absolute;top:30%;right:0}.time-apple.is-current>.art-sprite{transform-origin:50% 12%;animation:3s ease-in-out infinite apple-sway}.time-apple.is-locked>.art-sprite{opacity:.8}:root[data-input=pointer] .time-apple:active>.art-sprite{animation:none;transform:scale(.96)}.tree-instruction{color:#79684f;text-align:center;margin-top:12px;font-size:14px}.ceremony-map{grid-template-columns:1fr 1fr;gap:20px 12px;display:grid}.ceremony-node{text-align:left;color:#493e30;background:0 0;border:0;border-bottom:1px solid #d9cfbd;min-height:150px;padding:8px 4px 16px}.ceremony-mini{height:116px;display:block;position:relative}.ceremony-node strong,.ceremony-node small{padding-left:10px;display:block}.ceremony-node small{color:#79684f;margin-top:4px}.ceremony-interaction{color:#79684f;text-align:center;background:0 0;border:0;width:100%;padding:0}.ceremony-interaction>span{padding:18px 0 8px;font-size:14px;display:block}.ceremony-meaning{margin-top:18px;font-size:18px;line-height:1.9}.thanks-ribbon{pointer-events:none;max-width:300px;margin:-40px auto -20px}.infinity-page{text-align:center;min-height:70dvh;padding:48px 0 32px}.infinity-art{aspect-ratio:1.6;margin:40px 0 30px;position:relative}.infinity-ribbon{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.infinity-characters{z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.infinity-characters .apple-character{width:22%;position:absolute;top:32%}.infinity-characters .character-C{left:11%}.infinity-characters .character-K{right:11%}.infinity-heart{width:10%;position:absolute;top:80%;left:45%}.infinity-page h1{max-width:280px;margin:auto;font-size:27px;font-style:italic;line-height:1.55}.infinity-page p:not(.eyebrow){color:#79684f;margin:22px 0 32px;font-size:16px}.seasons-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.season{aspect-ratio:1.18;min-width:0;padding-bottom:25px;position:relative}.season>.art-sprite{width:100%;height:calc(100% - 25px);position:absolute;top:0;bottom:25px;left:0;right:0}.season strong{text-align:center;width:100%;font-family:var(--font-serif);font-size:18px;position:absolute;bottom:0}.season-bouquet{background:linear-gradient(#f9e9af,#e8e5cb)}.season-seaside_starry_night{background:linear-gradient(#586c89,#c5d1c8)}.season-tree{background:linear-gradient(#eedba9,#c4bb8a)}.season-christmas_coffee{background:linear-gradient(#d9e5e3,#e9e2cc)}.season .scene-props{height:85%}.winter-mountain{width:55%;position:absolute;bottom:22%;right:0}.story-return{z-index:5;background:#fbf7eb;border-bottom:1px solid #d9cfbd;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex;position:sticky;top:0}.story-return .countdown{margin:0;padding:0}.story-return .timer{font-size:26px}.story-return .timer-label{font-size:10px}.story-scene:not(.is-active) .scene-couple{animation:4s ease-in-out infinite story-float}@keyframes story-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.scene-sparkles{animation:3s ease-in-out infinite story-breathe}.bloom-flower{animation:.65s ease-out both flower-bloom}.kite-lift{animation:4s ease-in-out infinite kite-rise}:root[data-input=pointer] .ceremony-node:active,:root[data-input=pointer] .ceremony-interaction:active{transform:scale(.98)}:root[data-input=keyboard] .story-experience *,:root[data-story-hidden=true] .story-experience *{animation:none!important}@keyframes apple-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes story-breathe{0%,to{opacity:.5}50%{opacity:1}}@keyframes flower-bloom{0%{opacity:.4;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes kite-rise{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes couple-run{0%,to{transform:translate(-10px)}25%{transform:translateY(-3px)}50%{transform:translate(10px)}75%{transform:translateY(-3px)}}@keyframes gentle-rain{0%{opacity:.3;transform:translateY(-6px)}to{opacity:.9;transform:translateY(15px)}}@media (max-width:350px){.story-experience{padding-inline-start:18px;padding-inline-end:18px}.story-heading h1{font-size:26px}}@media (prefers-reduced-motion:reduce){.story-experience *,.story-experience :before,.story-experience :after{transition-duration:0s!important;animation:none!important}}.story-scene{background:0 0;border-radius:0}.generated-scene-props,.ceremony-props{pointer-events:none}.scene-environment,.story-tree-art{object-fit:contain;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.scene-control{z-index:5;color:#4a2317;background:#fbf7edf2;border:1px solid #beae91;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:44px;max-width:calc(100% - 20px);min-height:44px;padding:8px 12px;font-size:11px;font-weight:500;line-height:1.4;transition:transform .12s ease-out,background-color .12s ease-out;display:inline-flex;position:absolute;bottom:10px;right:10px}.scene-control>span{font-size:19px;line-height:1}.scene-control[aria-pressed=true]{background:#edeacb}:root[data-input=pointer] .scene-control:active{transform:scale(.97)}.scene-control:focus-visible{outline-offset:-4px;outline:3px solid #728343}.story-scene .joined-hands{background:#4a2317}.story-scene.scene-first_hello_phone .scene-couple{gap:18%;bottom:11%}.story-scene.scene-first_hello_phone .scene-couple .apple-character{width:24%}.hello-left-heart{width:10%;animation:3s ease-in-out infinite hello-heart-beat;position:absolute;top:24%;left:14.5%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M48 24C30-1 4 8 4 33C4 62 30 84 48 98C69 82 97 53 97 23C97-1 67-4 48 24Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M48 24C30-1 4 8 4 33C4 62 30 84 48 98C69 82 97 53 97 23C97-1 67-4 48 24Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%}.coffee-couple{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.coffee-character{aspect-ratio:540/592;width:27%;position:absolute;bottom:12%}.coffee-C{left:14%}.coffee-K{left:51%}.coffee-pose{animation:8s linear infinite coffee-hold;position:absolute;top:0;bottom:0;left:0;right:0}.coffee-pose>.art-sprite{width:100%;height:100%}.coffee-sip{opacity:0;animation-name:coffee-sip}.coffee-K .coffee-pose{animation-delay:-2.2s}.coffee-steam{width:24%;height:22%;position:absolute;top:39%;left:40%}.coffee-sip .coffee-steam{top:29%}.coffee-steam path{animation:2.4s ease-out infinite coffee-steam}.coffee-steam path:nth-child(2){animation-delay:-.8s}.coffee-steam path:nth-child(3){animation-delay:-1.6s}.sofa-couple,.proposal-couple,.banquet-guests{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.sofa-bride,.sofa-groom,.blue-rose-bouquet{z-index:1;position:absolute}.sofa-bride{width:23%;top:47%;left:27%}.sofa-groom{width:23%;top:47%;left:52%}.blue-rose-bouquet{z-index:2;width:12%;top:64%;left:46%}.story-scene.scene-snow_mountain_climb .scene-couple{display:block;top:0;bottom:0;left:0;right:0}.story-scene.scene-snow_mountain_climb .scene-couple .apple-character{width:25%;position:absolute}.story-scene.scene-snow_mountain_climb .character-C{bottom:5%;left:27%;transform:rotate(-12deg)}.story-scene.scene-snow_mountain_climb .character-K{bottom:17%;left:57%;transform:rotate(-12deg)}.story-scene.scene-snow_mountain_climb .joined-hands{display:none}.story-scene.scene-snow_mountain_climb .scene-control{top:10px;bottom:auto}.snow-drift{opacity:.5;position:absolute;top:0;bottom:0;left:0;right:0}.snow-drift.is-blowing{opacity:1;animation:1.8s linear infinite snow-wind}.scene-snowflake{width:5%;position:absolute}.snowflake-0{top:23%;left:14%}.snowflake-1{top:11%;left:32%}.snowflake-2{top:33%;left:56%}.snowflake-3{top:20%;left:73%}.snowflake-4{top:52%;left:25%}.snowflake-5{top:46%;left:83%}.mountain-wind{opacity:.8;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.cold-wind-trail{animation:2.8s linear infinite mountain-gust}.wind-trail-1{animation-delay:-.9s}.wind-trail-2{animation-delay:-1.7s}.story-scene.scene-seaside_day_walk .scene-couple{gap:4%;width:56%;bottom:6%;left:4%;right:auto}.story-scene.scene-seaside_day_walk .scene-couple .apple-character{width:45%}.story-scene.scene-seaside_day_walk .joined-hands{width:16px;left:calc(50% - 8px)}.wave-window{clip-path:polygon(0 48%,100% 48%,100% 85%,0 85%);opacity:0;transition:opacity .22s ease-out;position:absolute;top:0;bottom:0;left:0;right:0}.shore-swash{transform-origin:50% 60%;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;transform:translateY(6%)}.story-scene.scene-seaside_day_walk.is-active .wave-window{opacity:1}.story-scene.scene-seaside_day_walk.is-active .shore-swash{animation:4.8s ease-in-out infinite shore-wash}.story-scene.scene-seaside_day_walk .apple-character{animation:2.6s ease-in-out infinite seaside-step}.story-scene.scene-seaside_day_walk .character-K{animation-delay:-.65s}.story-scene.scene-grass_nap .scene-couple{align-items:center;gap:5%;width:64%;bottom:16%;left:24%;right:auto}.story-scene.scene-grass_nap .scene-couple .apple-character{width:43%}.story-scene.scene-grass_nap .character-C,.story-scene.scene-grass_nap .character-K{transform:none}.story-scene.scene-grass_nap .joined-hands{display:none}.story-scene.scene-starry_sunrise .scene-couple{z-index:2;gap:3%;width:59%;bottom:6%;left:9%;right:auto}.story-scene.scene-starry_sunrise .scene-couple .apple-character{width:40%}.story-scene.scene-starry_sunrise .joined-hands{width:17px;left:calc(50% - 8px)}.sunrise-layer{z-index:1;opacity:0;pointer-events:none;transition:opacity 3.6s ease-in-out;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:url(/assets/art/ST-07-night.webp);mask-image:url(/assets/art/ST-07-night.webp);-webkit-mask-size:100% 100%;mask-size:100% 100%}.sunrise-layer:before{content:"";background-color:#f4c19b;background-image:var(--paper-texture);background-blend-mode:multiply;background-size:560px;position:absolute;top:0;bottom:0;left:0;right:0}.story-scene.scene-starry_sunrise.is-dawn .sunrise-layer{opacity:1}.sunrise-sun{clip-path:circle(47%);width:14%;transition:transform 3.6s cubic-bezier(.25,.55,.35,1);position:absolute;top:50%;left:43%;transform:translateY(12%)}.is-dawn .sunrise-sun{transform:translateY(-105%)}.sunrise-water{clip-path:inset(48% 0 0)}.sunrise-cloud{width:23%;position:absolute;top:27%}.sunrise-cloud-left{left:10%}.sunrise-cloud-right{width:14%;top:33%;left:76%}.story-scene.scene-starry_sunrise .scene-control{min-width:110px}.scene-extra-star{width:4%;transition:opacity 2.4s ease-out;position:absolute;top:22%;left:30%}.is-dawn .scene-extra-star{visibility:hidden}.story-scene.scene-argument_and_tears .scene-couple{gap:26%;bottom:7%}.story-scene.scene-argument_and_tears .scene-couple .apple-character{width:24%}.argument-rain{pointer-events:none;animation:1.7s linear infinite argument-rain;position:absolute;top:0;bottom:0;left:0;right:0}.scene-raindrops{width:8%;position:absolute;top:42%}.raindrops-0{left:12%}.raindrops-1{top:30%;left:31%}.raindrops-2{left:64%}.raindrops-3{top:30%;left:82%}.story-scene.scene-sunny_play .scene-couple{gap:7%;animation:3s ease-in-out infinite sunny-run;bottom:6%}.story-scene.scene-sunny_play .scene-couple .apple-character{width:25%}.story-scene.scene-sunny_play .joined-hands{display:none}.scene-butterfly{width:7%;animation:3s ease-in-out infinite butterfly-flutter;position:absolute}.butterfly-0{top:40%;left:16%}.butterfly-1{top:32%;left:62%}.butterfly-2{top:50%;left:83%}.sunny-rainbow{opacity:.8;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.sunny-rainbow path{stroke-dasharray:1;animation:1.4s ease-out both rainbow-reveal}.story-scene.scene-proposal .scene-environment{width:78%;height:78%;top:0;left:11%}.proposal-groom{z-index:1;width:25%;position:absolute;top:65%;left:34%}.proposal-bride{z-index:1;width:23%;position:absolute;top:62%;left:61%}.story-scene.scene-wedding_venue{aspect-ratio:4/3}.story-scene.scene-wedding_venue .scene-couple{gap:1%;bottom:4%}.story-scene.scene-wedding_venue .scene-couple .apple-character{width:27%}.story-scene.scene-wedding_venue .joined-hands{z-index:2;width:12px;bottom:31%;left:calc(50% - 6px)}.wedding-swallows{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.swallow-flight{animation:5.5s ease-in-out infinite swallow-flight}.swallow-wing{transform-origin:0 0;animation:.55s ease-in-out infinite swallow-flap}.swallow-wing-rear{opacity:.85}.wedding-couple{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.wedding-apart{animation:10s linear infinite wedding-apart!important}.wedding-apart .character-C{animation:10s ease-in-out infinite bride-approach}.wedding-apart .character-K{animation:10s ease-in-out infinite groom-approach}.wedding-apart .apple-character{transform-origin:bottom}.wedding-embrace{opacity:0;transform-origin:bottom;width:44%;animation:10s linear infinite wedding-embrace;position:absolute;bottom:6%;left:28%}.banquet-bride{z-index:3;width:23.5%;position:absolute;top:55%;left:33%}.banquet-groom{z-index:3;width:18%;position:absolute;top:55.5%;left:50%}.banquet-guest{position:absolute}.banquet-guest>.art-sprite{width:100%;height:100%;animation:6.5s step-end infinite guest-rest;animation-delay:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.banquet-guest>.guest-celebrate{opacity:0;animation-name:guest-celebrate}.guest-toast>.guest-celebrate{animation-name:guest-celebrate}.guest-clap>.guest-celebrate{transform-origin:50% 65%;animation-name:guest-clap}.guest-clap>.guest-rest{animation-name:guest-clap-rest}.guest-far{z-index:1;top:36%}.guest-near{z-index:3;top:56%}.table-foreground{z-index:2;width:100%;height:46%;position:absolute;top:54%;overflow:hidden}.table-foreground>.art-sprite{width:100%;height:auto;position:absolute;top:-117.391%;left:0}.banquet-daisies{z-index:2;width:15%;position:absolute;top:49%}.banquet-phone{z-index:4;width:5%;position:absolute;top:72%}.phone-left{left:23%;transform:rotate(8deg)}.phone-right{right:23%;transform:rotate(-8deg)}.family-fruits{gap:2%;width:50%;display:flex;position:absolute;bottom:10%;right:0}.family-fruits>.art-sprite{width:49%}.ceremony-flowers{transform-origin:bottom;width:76%;height:88%;position:absolute;top:6%;left:12%}.ceremony-meadow{width:100%;height:auto;position:absolute;bottom:0;left:0}.ceremony-kite-flight{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.ceremony-kite-line{animation:4s ease-in-out infinite kite-string-rise}.ceremony-flyer{width:30%;position:absolute;bottom:5%;left:55%}.ceremony-flyer>.apple-character{width:100%}.ceremony-flyer .art-sprite-viewport{clip-path:polygon(0 0,74% 0,74% 22%,84% 22%,84% 25%,100% 25%,100% 100%,0 100%)}.ceremony-cloud{width:44%;position:absolute;top:12%;left:28%}.rain-drops{position:absolute;top:0;bottom:0;left:0;right:0}.ceremony-rain-art{width:8%;position:absolute;top:43%}.rain-0{left:30%}.rain-1{top:48%;left:47%}.rain-2{left:64%}.ceremony-tree-art{width:84%;height:96%;position:absolute;top:0;left:8%}.ceremony-meadow-front{clip-path:polygon(0 76%,100% 76%,100% 100%,0 100%)}.ceremony-study-couple{aspect-ratio:911/653;width:56%;position:absolute;bottom:4%;left:22%}.study-pose{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.study-left-key{animation:1.4s step-end infinite study-left-key}.study-right-key{opacity:0;animation:1.4s step-end infinite study-right-key}.ceremony-mini .ceremony-cloud{width:54%;top:0;left:23%}.ceremony-mini .ceremony-flowers{width:100%;height:100%;top:0;bottom:0;left:0;right:0}.story-scene.scene-rain .scene-couple{gap:8%;animation:none;bottom:5%}.story-scene.scene-rain .apple-character{width:28%}.story-scene.scene-rain.is-active .scene-couple{animation:3s ease-in-out infinite couple-run}.story-scene.scene-rain.is-active .apple-character{transform-origin:bottom;animation:.45s ease-in-out infinite rainy-stride}.story-scene.scene-rain.is-active .character-K{animation-delay:-.225s}.story-scene.scene-rain .rain-drops{animation:none}.story-scene.scene-rain .ceremony-rain-art{animation:1.2s linear infinite gentle-rain}.story-scene.scene-rain .rain-1{animation-delay:-.4s}.story-scene.scene-rain .rain-2{animation-delay:-.8s}:root[data-input=pointer] .ceremony-interaction-tree:active{transform:none}.story-scene.scene-snow_mountain_climb .scene-couple,.story-scene.scene-grass_nap .scene-couple,.story-scene.scene-starry_sunrise .scene-couple,.story-scene.scene-wedding_venue .scene-couple{animation:none}@keyframes snow-wind{0%{transform:translate(-14px,-3px)}to{transform:translate(35px,13px)}}@keyframes hello-heart-beat{0%,40%,to{transform:scale(1)}46%{transform:scale(1.08)}52%{transform:scale(1)}58%{transform:scale(1.05)}}@keyframes coffee-hold{0%,27%,54%,to{opacity:1}30%,51%{opacity:0}}@keyframes coffee-sip{0%,27%,54%,to{opacity:0}30%,51%{opacity:1}}@keyframes coffee-steam{0%{opacity:0;transform:translateY(2px)}20%{opacity:.85}to{opacity:0;transform:translateY(-11px)}}@keyframes mountain-gust{0%{opacity:0;transform:translate(-40px,-8px)}20%,65%{opacity:.85}to{opacity:0;transform:translate(75px,15px)}}@keyframes shore-wash{0%,to{opacity:.65;transform:translateY(-1%)scaleY(1)}48%{opacity:1;transform:translateY(7%)scaleY(1.035)}70%{opacity:.85}}@keyframes seaside-step{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes argument-rain{0%{opacity:.5;transform:translate(3px,-12px)}to{opacity:.9;transform:translate(-3px,10px)}}@keyframes sunny-run{0%,to{transform:translate(-12px)}25%{transform:translateY(-3px)}50%{transform:translate(14px)}75%{transform:translate(2px,-3px)}}@keyframes butterfly-flutter{0%,to{transform:translateY(-2px)rotate(-7deg)}50%{transform:translateY(7px)rotate(7deg)}}@keyframes rainbow-reveal{0%{stroke-dashoffset:1px;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes swallow-flight{0%,to{transform:translate(-4px,3px)rotate(-7deg)}35%{transform:translate(8px,-6px)rotate(6deg)}70%{transform:translate(-8px,-2px)rotate(-3deg)}}@keyframes swallow-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.18)}}@keyframes wedding-apart{0%,34.99%,79%,to{opacity:1}35%,78.99%{opacity:0}}@keyframes bride-approach{0%,16%,to{transform:translate(0)scale(1)}35%,79%{transform:translate(25%)scale(1.1)}}@keyframes groom-approach{0%,16%,to{transform:translate(0)scale(1)}35%,79%{transform:translate(-19%)scale(1.1)}}@keyframes wedding-embrace{0%,34.99%,79%,to{opacity:0;transform:scale(1)}35%,78.99%{opacity:1}52%{transform:scale(1.008)}}@keyframes guest-rest{0%,18%,82%,to{opacity:1}26%,74%{opacity:0}}@keyframes guest-celebrate{0%,18%,82%,to{opacity:0}26%,74%{opacity:1}}@keyframes guest-clap{0%,18%,34%,46%,58%,82%,to{opacity:0}26%,30%,38%,42%,50%,54%,62%,74%{opacity:1}}@keyframes guest-clap-rest{0%,18%,34%,46%,58%,82%,to{opacity:1}26%,30%,38%,42%,50%,54%,62%,74%{opacity:0}}@keyframes study-left-key{0%,to{opacity:1}50%{opacity:0}}@keyframes study-right-key{0%,to{opacity:0}50%{opacity:1}}@keyframes rainy-stride{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-4px)rotate(3deg)}}@keyframes kite-string-rise{0%,to{d:path("M156 125Q209 152 316 188")}50%{d:path("M156 117Q209 147 316 188")}}:root[data-input=keyboard] .story-scene *,:root[data-story-hidden=true] .story-scene *{transition:none!important;animation:none!important}:root[data-input=keyboard] .wedding-apart{opacity:0}:root[data-input=keyboard] .wedding-embrace{opacity:1}@media (max-width:350px){.scene-control{padding-inline-start:10px;padding-inline-end:10px;font-size:10px;bottom:8px;right:8px}.story-scene.scene-starry_sunrise .scene-control{min-width:96px}}@media (prefers-reduced-motion:reduce){.story-scene *,.story-scene :before,.story-scene :after{transition:none!important;animation:none!important}.wedding-apart{opacity:0}.wedding-embrace{opacity:1}}.wedding-home{padding:20px 24px 28px}.home-heading{padding-top:24px}.home-heading h1{letter-spacing:-.025em;margin:8px 0 12px;font-size:clamp(30px,8vw,38px)}.home-heading>p:last-child{color:var(--color-muted);font-size:13px}.home-landscape{aspect-ratio:1/1.16;isolation:isolate;width:min(450px,100% + 20px);margin:18px 0 0;position:relative;left:50%;transform:translate(-50%)}.home-sky{background-color:#d5e6e8;background-image:var(--paper-texture);background-blend-mode:multiply;pointer-events:none;background-size:560px;position:absolute;top:0;bottom:12%;left:0;right:0;-webkit-mask-image:radial-gradient(50% 55%,#000 65%,#0000 100%);mask-image:radial-gradient(50% 55%,#000 65%,#0000 100%)}.home-sun{pointer-events:none;width:12%;height:11%;position:absolute;top:6%;left:7%}.home-cloud{pointer-events:none;position:absolute}.home-cloud-high{width:23%;height:11%;top:5%;left:40%}.home-cloud-low{width:18%;height:9%;top:38%;right:1%}.home-meadow{pointer-events:none;width:100%;height:30%;position:absolute;bottom:6.5%;left:0}.home-meadow-front{z-index:5;clip-path:polygon(0 70%,24% 73%,29% 45%,45% 45%,50% 74%,62% 73%,80% 74%,100% 71%,100% 100%,0 100%)}.home-tree{z-index:1;background:0 0;border:0;width:83%;height:73%;padding:0;position:absolute;top:13%;left:-1%}.home-tree-art{width:100%;height:100%}.home-object{min-width:44px;min-height:44px;color:var(--color-muted);background:0 0;border:0;padding:0;position:absolute}.home-kite-flight{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.home-kite{z-index:3;width:21%;height:20.74%;top:12%;right:4%}.home-kite-body{width:100%;height:100%;position:absolute;top:0;left:0}.home-bouquet{z-index:3;width:28%;height:29%;bottom:15%;left:0}.home-bouquet>.art-sprite{position:absolute;bottom:0}.home-flowers-bloom{width:70%;height:78%;right:-2%}.home-flowers-buds{width:69%;height:100%;left:-4%}.home-flowers-changing{width:55%;height:63%;left:34%}.home-character{color:var(--color-ink);z-index:3;background:0 0;border:0;padding:0;position:absolute;bottom:16%}.home-character .apple-character{width:100%;height:100%}.home-character-C{width:23.5%;height:18.6%;right:25%}.home-character-K{width:26%;height:25.7%;right:1%}.home-character-K .art-sprite-viewport{clip-path:polygon(0 0,74% 0,74% 22%,84% 22%,84% 25%,100% 25%,100% 100%,0 100%)}.home-character-mark{background-color:#d3dcb1;background-image:var(--paper-texture);z-index:6;pointer-events:none;background-size:420px;border-radius:48% 44% 49% 47%;place-items:center;width:32px;height:22px;font-family:Georgia,serif;font-size:14px;font-style:italic;line-height:1;display:grid;position:absolute;top:85.5%;transform:translate(50%)}.home-character-mark-C{right:36.75%}.home-character-mark-K{right:14%}.home-entry-links{flex-wrap:wrap;gap:0 20px;margin:-10px 0 20px;display:flex}.home-entry-links>button{color:#506532;background:0 0;border:0;min-height:44px;padding:6px 0;font-size:12px}.home-entry-links>button:first-child{flex-basis:100%;align-items:center;gap:8px;display:flex}.home-hints{padding-top:8px}.home-hints h2{margin:5px 0 8px;font-size:23px}.home-hints>p:not(.eyebrow){color:var(--color-muted);font-size:12px}.home-hint-links{flex-wrap:wrap;gap:4px 16px;margin-top:12px;display:flex}.home-hint-links>button{color:#506532;background:0 0;border:0;border-bottom:1px solid #d9cfbd;align-items:center;gap:18px;min-height:44px;padding:6px 0;font-size:13px;display:flex}.home-meaning{border-bottom:1px solid #d9cfbd;padding-block-start:18px;padding-block-end:18px}.home-meaning h3{font-family:var(--font-serif);font-size:18px}.home-meaning p{color:var(--color-muted);margin-top:8px;font-size:13px}.home-book-note{color:var(--color-muted);margin-top:24px;font-size:11px;line-height:1.8}.home-book-note span{font-family:Georgia,serif;font-style:italic}.character-tags-title{align-items:center;gap:16px;margin:16px 0;display:flex}.character-tags-title .apple-character{width:106px}.character-tags-title h3{font-family:Georgia,serif;font-size:40px;font-weight:400}.character-tags-title p{color:var(--color-muted);font-size:12px}.character-role{font-family:var(--font-sans);color:var(--color-muted);vertical-align:middle;margin-left:10px;font-size:12px;display:inline-block}.character-tags{flex-wrap:wrap;align-items:center;gap:12px 10px;margin:0;padding:12px 0 24px;list-style:none;display:flex}.character-tags li{background:#eee3c9;background-image:var(--paper-texture);background-blend-mode:multiply;overflow-wrap:anywhere;background-size:420px;border:1px solid #c8b69c;border-radius:15px 12px 17px 11px;max-width:100%;padding:8px 14px;font-size:13px;line-height:1.7}.character-tags li:nth-child(3n+1){background-color:#e2e8cf;border-color:#b8c393;transform:rotate(-3deg)}.character-tags li:nth-child(3n+2){transform:rotate(2deg)}.character-tags li:nth-child(4n){background-color:#efd6c6;border-color:#d1aa91;margin-left:8px}.character-tag-section+.character-tag-section{border-top:1px solid #d9cfbd}.final-ranking-note{color:var(--color-muted);margin-top:16px;font-size:12px}:root[data-input=pointer] .home-tree:active{transform:scale(.98)}:root[data-input=pointer] .home-object:active,:root[data-input=pointer] .home-character-C:active,:root[data-input=pointer] .home-character-K:active{transform:scale(.96)}:root[data-input=pointer] .home-entry-links>button:active,:root[data-input=pointer] .home-hint-links>button:active{transform:scale(.97)}.fruit-avatar-frame{flex-shrink:0;display:block}.fruit-avatar{object-fit:contain;width:100%;height:100%;display:block}.fruit-avatar-fallback{color:#79684f;place-content:center;width:100%;height:100%;font-size:11px;display:grid}.couple-apple{object-fit:contain;flex-shrink:0;display:block}.fruit-picker{border:0;min-width:0;margin:24px 0 0;padding:0}.fruit-picker legend{font-family:var(--font-serif);font-size:21px;font-weight:600}.fruit-picker:disabled{opacity:.7}.fruit-picker-preview{justify-content:center;padding:12px 0 20px;display:flex}.fruit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.fruit-choice{cursor:pointer;background:#efe8d9;border:1px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:98px;margin:0;padding:7px 2px;display:flex;position:relative}.fruit-choice input{clip-path:inset(50%);width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.fruit-choice:has(input:checked){background:#e3e8cf;border:2px solid #60765b;padding:6px 1px}.fruit-choice:has(input:focus-visible){outline-offset:3px;outline:3px solid #60765b}.fruit-choice>span:not(.fruit-avatar-frame){margin-top:4px;font-size:12px;font-weight:400}:root[data-input=pointer] .fruit-choice:not(:has(input:disabled)):active{transform:scale(.97)}.fruit-colors{padding-top:24px}.fruit-colors h3{font-family:var(--font-serif);font-size:20px}.fruit-colors>p:not(.error-message){color:#79684f;margin:6px 0 14px;font-size:12px}.fruit-swatches{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.fruit-swatch{color:#fff;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:18px}.fruit-swatch[aria-pressed=true]{outline-offset:3px;outline:2px solid #493e30}.fruit-swatch span{text-shadow:0 1px 2px #493e30}:root[data-input=pointer] .fruit-swatch:not(:disabled):active{transform:scale(.97)}.guest-ticket-actions{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.profile-form{border-bottom:1px solid #d9cfbd;padding:18px 0}.profile-form .fruit-picker{margin-top:0}.profile-form .profile-actions{flex-wrap:wrap;gap:8px;display:flex}.closed-panel .fruit-avatar-frame{margin:0 auto 20px}.quiz-identity{color:#79684f;overflow-wrap:anywhere;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.nickname-page .intro-heading{padding-top:18px;padding-bottom:22px}.paper{background-color:var(--color-paper);background-image:var(--paper-texture);width:100%;max-width:560px;min-height:100dvh;padding-top:env(safe-area-inset-top);background-size:560px;flex-direction:column;margin-inline-start:auto;margin-inline-end:auto;display:flex}.paper main{outline:none;flex:1}.page-content{width:100%;max-width:480px;margin-inline-start:auto;margin-inline-end:auto;padding:20px 24px 28px}.page-footer{padding:16px 0 calc(16px + env(safe-area-inset-bottom));color:var(--color-muted);letter-spacing:.1em;border-top:1px solid #d9cfbd;justify-content:space-between;gap:12px;margin:0 24px;font-family:Georgia,serif;font-size:10px;display:flex}.eyebrow{color:var(--color-muted);font-family:var(--font-sans);letter-spacing:.08em;font-size:11px;font-weight:600}.little-note{color:var(--color-muted);font-family:Georgia,Songti SC,serif;font-size:15px;font-style:italic}.small-note{color:var(--color-muted);text-align:center;font-size:12px;line-height:1.7}.button{border:0;border-radius:17px 14px 19px 13px;min-width:44px;min-height:48px;padding:11px 24px;font-size:15px;font-weight:600;transition:transform .12s ease-out,background-color .12s ease-out}.button-primary{background-color:var(--color-honey);background-image:var(--paper-texture);background-blend-mode:multiply;color:var(--color-ink);background-size:420px}.button-primary:disabled{color:#7a6a51;background-color:#e7dec6}.button-quiet{color:var(--color-muted);background:0 0;padding-inline-start:12px;padding-inline-end:12px;font-size:13px}.icon-button{background-color:#eee5d3;background-image:var(--paper-texture);background-blend-mode:multiply;width:44px;min-width:44px;height:44px;color:var(--color-ink);background-size:420px;border:0;border-radius:48% 46% 49% 44%;justify-content:center;align-items:center;font-size:26px;transition:transform .12s ease-out;display:inline-flex}:root[data-input=pointer] .button:not(:disabled):active,:root[data-input=pointer] .icon-button:active{transform:scale(.97)}.skip-link{z-index:100;background:var(--color-ink);color:#fff;clip-path:inset(50%);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{clip-path:none;transform:translateY(0)}.page-topline{justify-content:space-between;align-items:center;gap:16px;min-height:44px;display:flex}.network-banner{color:#745628;background:#f5e4b5;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 16px;font-size:13px;display:flex}.status-dot{background:#728343;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.network-banner .status-dot{background:#a8772c}.apple-avatar{flex-shrink:0;display:block;overflow:visible}.paired-apples{justify-content:center;align-items:center;gap:4px;display:flex}.message-page{flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;min-height:70dvh;display:flex}.message-page p{color:var(--color-muted)}.action-stack{flex-direction:column;align-items:stretch;gap:8px;display:flex}.cover-page{text-align:center;flex-direction:column;min-height:min(760px,100dvh - 64px);padding:28px 24px 36px;display:flex;position:relative}.cover-copy{padding-top:clamp(32px,7vh,58px)}.cover-copy h1{margin:12px 0;font-size:clamp(30px,8.5vw,38px)}.cover-copy p{color:var(--color-muted);font-size:13px}.cover-scene{width:100%;max-width:360px;height:290px;margin:20px auto 0;position:relative}.tree-sketch{width:100%;height:245px;position:absolute;top:0;bottom:0;left:0;right:0}.reading-apples{justify-content:center;align-items:flex-end;gap:0;display:flex;position:absolute;top:145px;left:0;right:0}.book-button{color:#fff2cd;letter-spacing:.13em;background:#995d3f;border:1px solid #6c4938;border-radius:5px 9px 9px 5px;justify-content:center;align-items:center;gap:14px;width:128px;height:92px;font-family:Georgia,serif;font-size:14px;line-height:1.1;display:flex;position:absolute;top:205px;left:calc(50% - 64px);box-shadow:3px 4px #d0b48e,5px 7px #f6edd9}.book-button:before{content:"";border-left:1px solid #d6a781;position:absolute;top:0;bottom:0;left:11px}.book-heart{font-size:26px}.cover-invitation{color:var(--color-muted);margin-top:32px;font-size:13px}.cover-invitation span{padding-left:8px}.cover-bottom{color:var(--color-muted);margin-top:auto;padding-top:36px;font-family:Georgia,serif;font-size:12px;font-style:italic}.back-button{margin-left:-12px}.intro-heading{padding-block-start:32px;padding-block-end:28px}.intro-heading .apple-avatar{margin-bottom:20px}.intro-heading h1{margin-block-start:8px;margin-block-end:12px}.intro-heading p:not(.eyebrow){color:var(--color-muted);font-size:14px}.form-stack .button{width:100%;margin-block-start:12px;margin-block-end:24px}.field-help{color:var(--color-muted);justify-content:space-between;gap:8px;margin-top:8px;font-size:11px;display:flex}.error-message{color:#a04231;min-height:22px;margin-top:6px;font-size:13px;line-height:1.6}.story-stub{text-align:center;padding-top:64px}.story-stub .paired-apples{margin:44px 0 24px}.story-stub p:not(.eyebrow){color:var(--color-muted);margin-top:18px}.story-stub .action-stack{margin-top:48px}.guest-ticket{border-bottom:1px solid #d9cfbd;align-items:center;gap:12px;margin-top:12px;padding-block-start:22px;padding-block-end:22px;display:flex}.nickname-text{overflow-wrap:anywhere;font-size:18px;display:block}.rename-form{border-bottom:1px solid #d9cfbd;padding-block-start:16px;padding-block-end:16px}.rules{padding:24px 0}.rules h2{margin-bottom:14px;font-size:17px}.rules li{gap:16px;margin-top:8px;font-size:13px;display:flex}.rules li span{color:#9a805a;font-family:Georgia,serif}.waiting-status{color:#506532;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:16px 0;font-size:13px;display:flex}.guest-count{text-align:center;width:100%;color:var(--color-muted);font-size:12px}.starting-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100dvh - 80px);padding:32px 24px;display:flex}.starting-page .eyebrow{margin-block-start:24px;margin-block-end:12px}.starting-page h1{font-size:26px}.starting-number{color:#aa6c33;min-height:123px;margin:20px 0;font-family:Georgia,Songti SC,serif;font-size:88px;line-height:1.4}.starting-page>p:last-child{color:var(--color-muted);font-size:13px}.question-index{letter-spacing:.04em;font-family:Georgia,serif;font-size:11px}.question-index b{margin-left:8px;font-size:19px;font-weight:400}.quiz-page{flex-direction:column;min-height:calc(100dvh - 64px);display:flex}.question-heading{padding:32px 0 28px;position:relative}.question-heading h1{overflow-wrap:anywhere;margin-top:10px;padding-right:8px;font-size:clamp(25px,7vw,30px);line-height:1.55}.question-flourish{color:#bd9843;margin-top:18px;font-size:27px;display:block}.answer-form{padding-top:4px}.attempt-line{color:var(--color-muted);justify-content:space-between;align-items:center;gap:12px;margin-block-start:12px;margin-block-end:22px;font-size:12px;display:flex}.attempt-line strong{color:var(--color-ink);font-weight:500}.attempt-dots{gap:6px;display:flex}.attempt-dots i{border:1px solid #a99b7c;border-radius:50%;width:8px;height:8px}.attempt-dots .available{background:#ddb34e;border-color:#ddb34e}.submit-area{scroll-margin-block:24px}.answer-feedback{text-align:center;color:var(--color-muted);min-height:44px;margin-top:14px;font-size:12px;line-height:1.8}.feedback-correct{color:#507245;font-weight:600}.answer-form .error-message{text-align:center;min-height:42px;margin-top:0}.countdown{min-height:93px;color:var(--color-muted);flex-direction:column;align-items:center;margin-top:auto;padding:14px 0 12px;font-size:11px;display:flex}.timer{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--color-ink);font-family:Georgia,serif;font-size:31px;line-height:1.5}.countdown-low .timer{color:#a04231}.quiz-bottom{color:#869473;justify-content:center;align-items:center;gap:16px;padding-top:12px;display:flex}.state-panel{background-color:#f0dfaa;background-image:var(--paper-texture);background-blend-mode:multiply;background-size:420px;border-radius:14px 12px 16px 11px;align-items:center;gap:12px;margin-bottom:12px;padding:14px;font-size:12px;display:flex}.state-panel>span{color:#8b6c35;font-size:24px}.state-panel strong{font-weight:600}.state-panel p{color:var(--color-muted);margin-top:2px}.closed-panel,.display-panel{text-align:center;margin-block-start:auto;margin-block-end:auto;padding:30px 0}.closed-panel .apple-avatar{margin:0 auto 20px}.closed-panel p{color:var(--color-muted);margin:8px 0 24px}.display-panel p{color:var(--color-muted);margin-top:12px}.answer-reveal{text-align:center;padding:34px 0 28px}.answer-reveal h1{margin-top:8px;font-size:25px}.correct-answer{font-family:var(--font-serif);color:#8a6327;overflow-wrap:anywhere;margin-top:24px;font-size:29px;line-height:1.5}.winner-list li{border-bottom:1px solid #dfd6c4;align-items:center;gap:9px;min-height:72px;padding:13px 4px;display:flex}.winner-list strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:500}.winner-rank{width:46px;font-family:var(--font-serif);flex-shrink:0;font-size:14px}.winner-points{color:#8a6327;font-family:Georgia,serif;font-size:20px}.gift-note{gap:14px;padding-block-start:26px;padding-block-end:26px;display:flex}.gift-note>span{color:#b58b3c;font-size:30px}.gift-note strong{font-family:var(--font-serif);margin-top:5px;font-size:19px;display:block}.gift-note p:not(.eyebrow){color:var(--color-muted);margin-top:6px;font-size:12px}.my-score{text-align:center;border-top:1px solid #d9cfbd;padding-top:20px;font-size:14px}.my-score strong{margin-left:6px;font-family:Georgia,serif;font-size:28px}.ranking-page{text-align:center;padding-top:40px}.ranking-page h1{margin-top:10px}.ranking-page>p:not(.eyebrow){color:var(--color-muted);font-size:15px}.personal-result{border-bottom:1px solid #d9cfbd;margin-top:32px;padding-bottom:24px}.personal-result-identity{flex-direction:column;align-items:center;gap:10px;display:flex}.personal-result-identity strong{overflow-wrap:anywhere;max-width:100%;font-size:18px;font-weight:500}.personal-result-rank{margin-top:22px;font-size:18px}.personal-result-rank strong{color:#8a6327;font-family:Georgia,serif;font-size:44px;font-weight:400}.personal-result-score{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;margin-top:12px;font-size:18px;display:flex}.personal-result-score>strong{font-family:Georgia,serif;font-size:34px;font-weight:400}.personal-result-tier{color:#8a6327;border-left:1px solid #c8b69c;padding-left:12px}.personal-result-prize{margin-top:24px}.personal-result-prize>p:last-child{font-family:var(--font-serif);overflow-wrap:anywhere;margin-top:8px;font-size:23px;line-height:1.7}.is-me{background-color:#e5ebd7;background-image:var(--paper-texture);background-blend-mode:multiply;background-size:420px}.is-me strong small{color:#507245;white-space:nowrap}.empty-ranking{text-align:center;padding-block-start:40px;padding-block-end:40px}.thanks-page{text-align:center;padding-top:62px}.thanks-page h1{margin-top:18px;font-size:clamp(48px,13vw,62px);font-style:italic;font-weight:400}.thanks-page .paired-apples{margin:42px 0 30px}.thanks-heart{color:#c95e48;align-self:flex-start;font-family:Georgia,serif;font-size:24px}.thanks-page h2{font-size:24px}.thanks-date{letter-spacing:.12em;margin-block-start:18px;margin-block-end:18px;font-family:Georgia,serif;font-size:13px}.thanks-page .action-stack{margin-top:36px}.character-sheet{background-color:var(--color-paper);background-image:var(--paper-texture);width:100%;max-width:560px;max-height:85dvh;color:var(--color-ink);overscroll-behavior:contain;background-size:560px;border:0;border-radius:20px 18px 0 0;margin:auto auto 0;padding:0;overflow-y:auto;box-shadow:0 -8px 32px #442c2226}.character-sheet::backdrop{background:#442c225c}.sheet-inner{padding:24px 24px calc(20px + env(safe-area-inset-bottom))}.sheet-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.sheet-heading h2{margin-top:4px}.sheet-inner>.small-note{margin-top:12px}.character-row{border-bottom:1px solid #d9cfbd;align-items:flex-start;gap:18px;padding-block-start:24px;padding-block-end:24px;display:flex}.character-row h3{font-family:Georgia,serif;font-size:24px}.character-row h3 span{font-family:var(--font-sans);color:var(--color-muted);margin-left:12px;font-size:12px}.character-row ul{padding-top:8px;font-size:13px;line-height:1.9}.character-row+.button{margin-top:12px}.migration-entry{border-top:1px solid #d9cebb;margin-top:24px;padding-top:8px}.migration-entry summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px}.migration-entry .form-stack{margin-top:12px}}@layer utilities{.visible{visibility:visible}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.block{display:block}.flex{display:flex}.hidden{display:none}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.gap-2{gap:calc(var(--spacing) * 2)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-muted{color:var(--color-muted)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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))}}@media (max-width:340px){.wedding-home{padding-inline-start:18px;padding-inline-end:18px}.home-hint-links{gap:4px 12px}}@media (min-width:768px){.wedding-home{padding-inline-start:36px;padding-inline-end:36px}}@media (prefers-reduced-motion:reduce){.home-tree:active,.home-object:active,.home-character:active,.home-entry-links>button:active,.home-hint-links>button:active{transform:none!important}}@media (max-width:340px){.fruit-grid{gap:6px}.fruit-choice .fruit-avatar-frame{width:54px!important;height:54px!important}.fruit-picker-preview .fruit-avatar-frame{width:110px!important;height:110px!important}}@media (hover:hover){.button-primary:not(:disabled):hover{background-color:#e2b532}.button-quiet:hover{background:#eee3cc}}@media (min-width:768px){.paper{border-inline-start:1px solid #d9cfbd;border-inline-end:1px solid #d9cfbd}.page-content{padding-inline-start:32px;padding-inline-end:32px}.cover-page{padding-inline-start:40px;padding-inline-end:40px}}@media (max-width:340px){.page-content,.cover-page{padding-inline-start:18px;padding-inline-end:18px}.cover-scene{height:270px}.reading-apples{top:127px}.book-button{top:186px}.character-row{gap:10px}.character-row .apple-avatar{width:62px}.guest-ticket{gap:8px}.guest-ticket .button{padding-inline-start:8px;padding-inline-end:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}:root[data-input=pointer] .button:active,:root[data-input=pointer] .icon-button:active{transform:none}}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
