@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--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;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--font-weight-medium:500;--radius-sm:calc(var(--radius)*.6);--radius-md:calc(var(--radius)*.8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius)*1.4);--radius-2xl:calc(var(--radius)*1.8);--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-mono);--font-serif-cn:var(--font-serif-cn);--font-handwritten-cn:var(--font-handwritten-cn)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;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);tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}hr{color:inherit;border-top-width:1px;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing: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-day-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-second-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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-6{height:calc(var(--spacing)*6);width:calc(var(--spacing)*6)}.size-7{height:calc(var(--spacing)*7);width:calc(var(--spacing)*7)}.size-8{height:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.size-9{height:calc(var(--spacing)*9);width:calc(var(--spacing)*9)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-full{height:100%}.min-h-full{min-height:100%}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-lg{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-clip-padding{background-clip:padding-box}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.font-serif-cn{font-family:var(--font-serif-cn)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-destructive{color:var(--destructive)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-duration:var(--tw-duration,var(--default-transition-duration));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-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-destructive\/30:hover{background-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){height:calc(var(--spacing)*3);width:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){height:calc(var(--spacing)*3.5);width:calc(var(--spacing)*3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}@media (hover:hover){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}}}.lightbox-backdrop{box-sizing:border-box;cursor:zoom-out;z-index:1000;background:#060308;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:64px 24px 24px;animation:.2s lb-fade-in;display:flex;position:fixed;inset:0}@keyframes lb-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-close{color:#fda4afcc;cursor:pointer;z-index:10;background:#ffffff0f;border:1px solid #fda4af4d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .2s,transform .2s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{color:#fb7185;background:#fb718526;transform:rotate(90deg)}.lightbox-counter{color:#fda4af99;letter-spacing:.25em;pointer-events:none;z-index:10;font-size:12px;font-weight:400;position:absolute;top:26px;left:50%;transform:translate(-50%)}.lightbox-stage{flex-shrink:1;width:100%;max-width:min(88vw,900px);min-height:0;position:relative}.lightbox-img-wrap,.lightbox-stage{justify-content:center;align-items:center;display:flex}.lightbox-img-wrap{cursor:default;max-width:100%;max-height:calc(100svh - 180px);animation:.25s cubic-bezier(.22,1,.36,1) lb-img-in}@keyframes lb-img-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.lightbox-img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:12px;width:auto;max-width:min(88vw,900px);height:auto;max-height:calc(100svh - 180px);display:block}.lightbox-arrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fda4afcc;cursor:pointer;z-index:10;background:#0f080eb3;border:1px solid #fda4af4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow-left{left:-56px}.lightbox-arrow-right{right:-56px}.lightbox-arrow:hover{color:#fb7185;background:#fb718533}.lightbox-arrow-left:hover{transform:translateY(-50%)translate(-2px)}.lightbox-arrow-right:hover{transform:translateY(-50%)translate(2px)}.lightbox-thumbs{cursor:default;z-index:10;flex-shrink:0;gap:8px;display:flex}.lightbox-thumb{cursor:pointer;opacity:.5;background:#ffffff0d;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:52px;height:52px;padding:0;transition:border-color .2s,transform .2s,opacity .2s;overflow:hidden}.lightbox-thumb img{object-fit:cover;width:100%;height:100%;display:block}.lightbox-thumb:hover{opacity:.8;transform:translateY(-2px)}.lightbox-thumb.active{opacity:1;border-color:#fb7185;transform:translateY(-3px)}@media (max-width:640px){.lightbox-arrow{display:none}.lightbox-thumb{width:40px;height:40px}.lightbox-img,.lightbox-stage{max-width:96vw}.lightbox-img,.lightbox-img-wrap{max-height:calc(100svh - 200px)}}@media (prefers-reduced-motion:reduce){.lightbox-backdrop,.lightbox-img-wrap{animation:none}.lightbox-arrow,.lightbox-close,.lightbox-thumb{transition:none}}.home-shell{background:radial-gradient(ellipse 80% 60% at 20% 10%,#ffb6c147 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 90%,#ffb6c138 0,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 50%,var(--page-bg) 0,var(--page-bg-2) 100%);box-sizing:border-box;grid-template-rows:min-content 1fr min-content;place-items:center;width:100%;min-height:100svh;display:grid;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.home-shell{background:radial-gradient(ellipse 80% 60% at 20% 10%,#b43c5a2e 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 90%,#b43c5a24 0,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 50%,var(--page-dark-bg) 0,var(--page-dark-bg-2) 100%)}}.home-orb{filter:blur(60px);pointer-events:none;border-radius:50%;position:absolute}.home-orb-1{background:radial-gradient(circle,#ffb6c159 0,#0000 70%);width:500px;height:500px;animation:18s ease-in-out infinite orb-drift-1;top:-120px;left:-140px}.home-orb-2{background:radial-gradient(circle,#fb718538 0,#0000 70%);width:380px;height:380px;animation:22s ease-in-out infinite orb-drift-2;bottom:-80px;right:-100px}.home-orb-3{background:radial-gradient(circle,#fda4af2e 0,#0000 70%);width:280px;height:280px;animation:26s ease-in-out infinite orb-drift-3;top:40%;left:60%}@keyframes orb-drift-1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,30px)scale(1.06)}66%{transform:translate(-20px,50px)scale(.96)}}@keyframes orb-drift-2{0%,to{transform:translate(0)scale(1)}40%{transform:translate(-50px,-30px)scale(1.08)}70%{transform:translate(20px,-50px)scale(.94)}}@keyframes orb-drift-3{0%,to{transform:translate(0)}50%{transform:translate(-60px,40px)}}.home-top{justify-content:center;align-items:flex-end;width:100%;padding-bottom:24px;display:flex}.date-badge{flex-direction:column;align-items:center;gap:6px;display:flex}.date-badge-line{background:linear-gradient(#0000,#fda4af99);width:1px;height:60px}.date-badge-text{color:var(--muted-darker);letter-spacing:.4em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:11px;font-weight:600}.home-center{box-sizing:border-box;z-index:10;flex-direction:column;align-items:center;gap:0;width:100%;max-width:720px;padding:0 24px;display:flex;position:relative}.home-title{color:var(--muted-darker);font-family:var(--serif);letter-spacing:.55em;text-transform:uppercase;margin:0 0 48px;font-size:clamp(13px,1.5vw,15px);font-weight:500}.couple-section{justify-content:center;gap:0;width:100%;max-width:460px;margin-bottom:60px}.avatar-col,.couple-section{align-items:center;display:flex}.avatar-col{flex-direction:column;flex:1;gap:14px}.avatar-frame{cursor:default;width:110px;height:110px;position:relative}.avatar-frame:before{background:conic-gradient(#0000 0,#fda4af99 25%,#fb7185cc 50%,#fda4af99 75%,#0000 100%);animation:8s linear infinite ring-spin;inset:-4px}.avatar-frame:after,.avatar-frame:before{content:"";border-radius:50%;position:absolute}.avatar-frame:after{background:var(--page-bg);inset:-2px}@keyframes ring-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media (prefers-color-scheme:dark){.avatar-frame:after{background:var(--page-dark-bg)}}.avatar-img-wrap{background:linear-gradient(135deg,var(--rose-100) 0,var(--rose-200) 100%);z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;inset:0;overflow:hidden}.avatar-frame:hover .avatar-img-wrap{transform:scale(1.06)}.avatar-img-wrap img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-placeholder-icon{color:#ffffffe6}.avatar-name-label{color:var(--muted-deep);font-family:var(--serif);letter-spacing:.1em;font-size:15px;font-weight:500}@media (prefers-color-scheme:dark){.avatar-name-label{color:var(--muted-darker)}}.heart-bridge{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:0 20px;display:flex;position:relative;top:-14px}.bridge-line{background:linear-gradient(90deg,#fda4af33,#fda4afb3,#fda4af33);width:60px;height:1px}.bridge-heart{color:var(--rose-300);filter:drop-shadow(0 0 8px #fb718599);animation:1.8s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1.05)}45%{transform:scale(1.18)}60%{transform:scale(1)}}.days-display{flex-direction:column;align-items:center;gap:0;margin-bottom:20px;display:flex}.days-eyebrow{color:var(--muted-darker);letter-spacing:.5em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.days-num-row{align-items:baseline;gap:10px;line-height:1;display:flex}.days-num{color:#c0446a;letter-spacing:-6px;font-family:Geist Variable,system-ui,sans-serif;font-size:clamp(88px,13vw,148px);font-weight:100;line-height:.9}.days-unit{color:var(--muted-darker);font-family:var(--serif);letter-spacing:.1em;padding-bottom:12px;font-size:clamp(18px,2.5vw,26px);font-weight:400}.hms-row{align-items:flex-start;gap:4px;margin-bottom:52px;display:flex}.hms-unit{flex-direction:column;align-items:center;gap:5px;min-width:68px;display:flex}.hms-value{color:#c0446a;letter-spacing:-1px;opacity:.85;font-family:Geist Variable,system-ui,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:200;line-height:1}.hms-sep{color:#b4648299;padding-top:2px;font-size:clamp(24px,3.5vw,36px);font-weight:100;line-height:1}.hms-label{color:var(--muted-darker);letter-spacing:.2em;text-transform:uppercase;font-size:10px;font-weight:600}.home-cta{-webkit-backdrop-filter:var(--blur-md);background:var(--glass-white);color:var(--muted-deep);cursor:pointer;font-family:var(--serif);letter-spacing:.15em;transition:background var(--t-base),color var(--t-base),transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);border:1px solid #fda4af80;border-radius:50px;align-items:center;gap:10px;padding:14px 36px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.home-cta:hover{color:var(--rose-300);background:#ffffffd9;border-color:#fb718599;transform:translateY(-3px);box-shadow:0 16px 40px #fda4af4d}@media (prefers-color-scheme:dark){.home-cta{color:var(--muted-darker);background:#1e0f1480;border-color:#a0506466}.home-cta:hover{color:var(--rose-300);background:#28121ab3;border-color:#fb718580}}.home-admin-entry{-webkit-backdrop-filter:var(--blur-sm);color:#b06088;letter-spacing:.06em;opacity:.75;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast),opacity var(--t-fast),box-shadow var(--t-fast);z-index:50;background:#fff0f8b3;border:1px solid #c882a066;border-radius:22px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 12px #c850781a}.home-admin-entry:hover{color:#c05080;opacity:1;background:#fff0f6eb;border-color:#c8648c8c;box-shadow:0 4px 16px #c850782e}@media (prefers-color-scheme:dark){.home-admin-entry{color:#806070;background:#140a108c;border-color:#783c504d}.home-admin-entry:hover{color:#d090b0;background:#1e0e16bf;border-color:#b4506e80}}.home-bottom{justify-content:flex-start;gap:16px;width:100%;padding-top:24px;position:relative}.bottom-tagline,.home-bottom{flex-direction:column;align-items:center;display:flex}.bottom-tagline{gap:6px}.bottom-tagline-text{color:#e0a0b08c;font-family:var(--serif);letter-spacing:.35em;margin:0;font-size:11px;font-style:italic}.bottom-tagline-line{background:linear-gradient(#fda4af80,#0000);width:1px;height:50px}@media (prefers-reduced-motion:reduce){.avatar-frame:before,.bridge-heart,.home-orb-1,.home-orb-2,.home-orb-3{animation:none}.home-cta{transition:none}}@media (max-width:1024px){.home-title{margin-bottom:24px}.couple-section{margin-bottom:30px}.days-display{margin-bottom:10px}.hms-row{margin-bottom:26px}.home-bottom{padding-top:12px}.home-orb-1{width:300px;height:300px}.home-orb-2{width:250px;height:250px}.home-orb-3{width:200px;height:200px}.avatar-frame{width:90px;height:90px}.avatar-name-label{font-size:13px}}@media (max-width:767px){.home-center{max-width:560px;padding:0 20px}.couple-section{max-width:400px;margin-bottom:24px}.hms-row{gap:2px;margin-bottom:20px}.hms-unit{min-width:56px}.home-cta{padding:12px 28px;font-size:12px}.date-badge-text{letter-spacing:.3em;font-size:10px}.home-orb-1{width:240px;height:240px}.home-orb-2{width:180px;height:180px}.home-orb-3{display:none}}@media (max-width:480px){.home-center{padding:0 16px}.days-num{letter-spacing:-4px;font-size:80px}.hms-value{font-size:26px}.hms-unit{min-width:50px}.hms-label{font-size:9px}.avatar-frame{width:82px;height:82px}.couple-section{max-width:320px}.bridge-line{width:28px}.heart-bridge{padding:0 10px}.home-cta{gap:8px;padding:11px 24px;font-size:12px}.home-bottom{gap:12px;padding-top:8px}.bottom-tagline-line{height:36px}.date-badge-line{height:44px}}@media (max-width:360px){.home-center{padding:0 12px}.days-num{letter-spacing:-3px;font-size:68px}.hms-value{font-size:22px}.hms-sep{font-size:18px}.hms-unit{min-width:44px}.avatar-frame{width:72px;height:72px}.couple-section{gap:0;max-width:290px}.bridge-line{width:20px}.heart-bridge{gap:4px;padding:0 6px}.avatar-name-label{font-size:12px}.home-cta{padding:10px 20px;font-size:11px}}.login-shell{background:radial-gradient(ellipse 80% 60% at 20% 10%,#ffb6c147 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 90%,#ffb6c138 0,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 50%,var(--page-bg) 0,var(--page-bg-2) 100%);box-sizing:border-box;grid-template-rows:min-content 1fr min-content;place-items:center;width:100%;min-height:100svh;display:grid;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.login-shell{background:radial-gradient(ellipse 80% 60% at 20% 10%,#b43c5a2e 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 90%,#b43c5a24 0,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 50%,var(--page-dark-bg) 0,var(--page-dark-bg-2) 100%)}}.login-orb{filter:blur(60px);pointer-events:none;border-radius:50%;position:absolute}.login-orb-1{background:radial-gradient(circle,#ffb6c159 0,#0000 70%);width:500px;height:500px;animation:18s ease-in-out infinite login-orb-drift-1;top:-120px;left:-140px}.login-orb-2{background:radial-gradient(circle,#fb718538 0,#0000 70%);width:380px;height:380px;animation:22s ease-in-out infinite login-orb-drift-2;bottom:-80px;right:-100px}.login-orb-3{background:radial-gradient(circle,#fda4af2e 0,#0000 70%);width:280px;height:280px;animation:26s ease-in-out infinite login-orb-drift-3;top:40%;left:60%}@keyframes login-orb-drift-1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,30px)scale(1.06)}66%{transform:translate(-20px,50px)scale(.96)}}@keyframes login-orb-drift-2{0%,to{transform:translate(0)scale(1)}40%{transform:translate(-50px,-30px)scale(1.08)}70%{transform:translate(20px,-50px)scale(.94)}}@keyframes login-orb-drift-3{0%,to{transform:translate(0)}50%{transform:translate(-60px,40px)}}.login-top{justify-content:center;align-items:flex-end;width:100%;padding-bottom:24px;display:flex}.login-date-badge{flex-direction:column;align-items:center;gap:6px;display:flex}.login-badge-line{background:linear-gradient(#0000,#fda4af99);width:1px;height:60px}.login-badge-text{color:#c96e88;letter-spacing:.4em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:11px;font-weight:500}@media (prefers-color-scheme:dark){.login-badge-text{color:#c07090}}.login-center{box-sizing:border-box;z-index:10;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:0 24px;display:flex;position:relative}.login-icon-wrap{margin-bottom:18px}.login-heart-icon{color:var(--rose-300);filter:drop-shadow(0 0 10px #fb71858c);animation:1.8s ease-in-out infinite login-heartbeat}@keyframes login-heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1.05)}45%{transform:scale(1.18)}60%{transform:scale(1)}}.login-title{color:var(--text-h);font-family:var(--serif);letter-spacing:.12em;text-align:center;margin:0 0 8px;font-size:clamp(22px,4vw,28px);font-weight:300}.login-subtitle{color:#a05570;letter-spacing:.05em;text-align:center;margin:0 0 32px;font-size:13px;font-weight:400;line-height:1.6}@media (prefers-color-scheme:dark){.login-subtitle{color:#c07090}}.login-card{-webkit-backdrop-filter:var(--blur-lg);background:var(--glass-card);box-sizing:border-box;border:1px solid #fb718547;border-radius:20px;width:100%;padding:36px 32px 28px;box-shadow:inset 0 2px #fb718526,0 24px 64px #fda4af38,0 4px 16px #0000000d}@media (prefers-color-scheme:dark){.login-card{background:#190c12a6;border-color:#b4506e4d;box-shadow:0 24px 64px #00000073}}.login-form{gap:20px}.login-field,.login-form{flex-direction:column;display:flex}.login-field{gap:8px}.login-label{color:#946;letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:600}@media (prefers-color-scheme:dark){.login-label{color:#c07090}}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{color:#c06080;pointer-events:none;flex-shrink:0;transition:color .2s;position:absolute;left:14px}.login-input-wrap:focus-within .login-input-icon,.login-input:focus~.login-input-icon{color:var(--rose-300)}@media (prefers-color-scheme:dark){.login-input-icon{color:#a06080}}.login-input{box-sizing:border-box;color:#3a1a28;font-family:var(--sans);background:#ffffffd1;border:1.5px solid #fb71854d;border-radius:12px;outline:none;width:100%;padding:12px 46px 12px 40px;font-size:14px;transition:border-color .22s,box-shadow .22s,background .22s}.login-input::placeholder{color:#b08898}.login-input:focus{background:#fff;border-color:#fb7185bf;animation:2.4s ease-in-out infinite login-input-glow;box-shadow:0 0 0 3px #fb71852e,0 0 12px #fb71851f}@keyframes login-input-glow{0%,to{box-shadow:0 0 0 3px #fb71852e,0 0 10px #fb71851a}50%{box-shadow:0 0 0 4px #fb718547,0 0 18px #fb71852e}}@media (prefers-color-scheme:dark){.login-input{color:#f0d8e8;background:#230e18b3;border-color:#b4506e59}.login-input::placeholder{color:#8a5068}.login-input:focus{background:#2d1220e6;border-color:#fb718599;animation:2.4s ease-in-out infinite login-input-glow-dark}}@keyframes login-input-glow-dark{0%,to{box-shadow:0 0 0 3px #fb718524,0 0 10px #fb718514}50%{box-shadow:0 0 0 4px #fb71853d,0 0 18px #fb718524}}.login-eye-btn{color:#c06080;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .2s,background .2s;display:flex;position:absolute;right:10px}.login-eye-btn:hover{color:var(--rose-300);background:#fb71851a}.login-eye-btn:focus-visible{outline-offset:2px;outline:2px solid #fb718599}@media (prefers-color-scheme:dark){.login-eye-btn{color:#a06080}.login-eye-btn:hover{color:var(--rose-300)}}.login-eye-icon{transition:opacity .2s,transform .2s;display:flex;position:absolute}.login-eye-icon--show{opacity:1;transform:scale(1)}.login-eye-btn--visible .login-eye-icon--show,.login-eye-icon--hide{opacity:0;transform:scale(.7)}.login-eye-btn--visible .login-eye-icon--hide{opacity:1;transform:scale(1)}.login-eye-btn:before{content:"";width:15px;height:15px;display:block}.login-btn-primary{background:linear-gradient(135deg,var(--rose-300) 0,var(--rose-400) 55%,var(--rose-500) 100%);color:#fff;cursor:pointer;font-family:var(--serif);letter-spacing:.18em;border:none;border-radius:50px;justify-content:center;align-items:center;gap:9px;margin-top:4px;padding:14px 24px;font-size:14px;font-weight:500;transition:filter .22s,transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;display:inline-flex;box-shadow:0 4px 16px #f43f5e61,0 1px 3px #f43f5e40}.login-btn-primary:hover{filter:brightness(1.08)saturate(1.1);transform:translateY(-2px);box-shadow:0 8px 28px #f43f5e73,0 2px 8px #f43f5e4d}.login-btn-primary:active{filter:brightness(.96);transition:transform .1s,filter .1s;transform:translateY(0)scale(.98);box-shadow:0 2px 8px #f43f5e40}@media (prefers-color-scheme:dark){.login-btn-primary{background:linear-gradient(135deg,var(--rose-400) 0,var(--rose-500) 100%);box-shadow:0 4px 20px #f43f5e4d}}.login-links{justify-content:center;align-items:center;gap:4px;display:flex}.login-link{color:#946;cursor:pointer;font-family:var(--sans);letter-spacing:.1em;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:12px;transition:color .2s,background .2s}.login-link:hover{color:var(--rose-500);text-underline-offset:3px;background:#fb718514;text-decoration:underline}.login-link:focus-visible{outline-offset:2px;outline:2px solid #fb718580}@media (prefers-color-scheme:dark){.login-link{color:#c07090}.login-link:hover{color:var(--rose-300)}}.login-link-sep{color:#99446659;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:14px}.login-hint{color:#7a3a52;text-align:center;margin:0;padding:4px;font-size:13px;line-height:1.75}.login-error{color:#c0392b}.login-error,.login-success{text-align:center;margin:0;padding:2px 0;font-size:13px}.login-success{color:#27ae60}.login-hint--ok{color:#27ae60!important}.login-send-code-btn{border:1px solid var(--rose-300,#fda4af);color:#c0446a;cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:5px 10px;font-size:12px;transition:background .18s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-send-code-btn:hover:not(:disabled){background:#fda4af26}.login-send-code-btn:disabled{cursor:not-allowed;opacity:.55}@media (prefers-color-scheme:dark){.login-hint{color:#c07090}}.login-bottom{justify-content:flex-start;width:100%;padding-top:24px}.login-bottom,.login-tagline{flex-direction:column;align-items:center;display:flex}.login-tagline{gap:6px}.login-tagline-text{color:#b46482bf;font-family:var(--serif);letter-spacing:.35em;margin:0;font-size:11px;font-style:italic}.login-tagline-line{background:linear-gradient(#fda4af8c,#0000);width:1px;height:50px}@media (prefers-reduced-motion:reduce){.login-heart-icon,.login-orb-1,.login-orb-2,.login-orb-3{animation:none}.login-btn-primary{transition:none}.login-input:focus{animation:none}.login-eye-icon{transition:none}}@media (max-width:480px){.login-center{padding:0 16px}.login-card{border-radius:16px;padding:28px 20px 22px}.login-badge-line{height:44px}.login-tagline-line{height:36px}.login-orb-1{width:240px;height:240px}.login-orb-2{width:180px;height:180px}.login-orb-3{display:none}.login-link{padding:10px 14px}}:root{--pk-300:#f4b8cb;--pk-400:#e07098;--pk-500:#d45c80;--pk-600:#b03060;--pk-700:#8b1a3a;--pk-900:#4a1530;--text-base:#3d1a28;--text-heading:#5a2038;--text-secondary:#7a3a52;--text-muted:#b07090;--text-faint:#b4648c8c;--surface-page:#fdf4f7;--surface-panel:#fff8fbbf;--surface-card:#fff8fbcc;--surface-sidebar:#fff8fbd9;--surface-header:#fff8fbbf;--surface-modal:#fff8fceb;--surface-input:#fffcfecc;--surface-upload:#fff5f880;--border:#e6becd80;--border-soft:#e6becd59;--border-modal:#e6bed28c;--border-input:#e6becd80;--shadow-panel:0 4px 24px #b43c5a0f;--shadow-modal:0 24px 60px #50142838;--shadow-dialog:0 20px 50px #3c0a1e33;--shadow-sidebar:2px 0 20px #b43c5a0f;--radius-sm:7px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--t-fast:.15s;--t-base:.18s;--blur-sm:blur(12px);--blur-md:blur(18px);--blur-lg:blur(24px);--blur-xl:blur(28px);--badge-published-bg:#82c89633;--badge-published-color:#2a7a40;--badge-published-border:#64b47866;--badge-draft-bg:#c8c8c833;--badge-draft-color:#666;--badge-draft-border:#b4b4b466;--badge-deleted-bg:#dc646426;--badge-deleted-color:#a03030;--badge-deleted-border:#c8646459}@media (prefers-color-scheme:dark){:root{--text-base:#f0dde5;--text-heading:#f4c8d8;--text-secondary:#d4a0b4;--text-muted:#a07090;--surface-page:#130d10;--surface-panel:#190c12b3;--surface-card:#1c0e14b3;--surface-sidebar:#190f14e0;--surface-header:#140c10bf;--surface-modal:#190c12eb;--surface-input:#1e1218cc;--surface-upload:#1e121866;--border:#64283c66;--border-soft:#64283c40;--border-modal:#64283c66;--border-input:#64283c66;--badge-published-bg:#3ca06433;--badge-published-color:#80e0b0;--badge-draft-bg:#a08c3c33;--badge-draft-color:#d4c070}}.admin-shell{background:radial-gradient(ellipse 70% 50% at 0 0,#ffb6c12e 0,transparent 55%),radial-gradient(ellipse 60% 50% at 100% 100%,#fb718524 0,transparent 55%),var(--surface-page);color:var(--text-base);font-family:var(--sans,system-ui,sans-serif);min-height:100svh;display:flex;position:relative;overflow:hidden}.admin-orb{filter:blur(70px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}.admin-orb-1{background:radial-gradient(circle,#ffb6c147 0,#0000 70%);width:460px;height:460px;animation:20s ease-in-out infinite admin-orb-1;top:-120px;left:-120px}.admin-orb-2{background:radial-gradient(circle,#fb71852e 0,#0000 70%);width:340px;height:340px;animation:25s ease-in-out infinite admin-orb-2;bottom:-80px;right:-80px}@keyframes admin-orb-1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,40px)scale(1.06)}}@keyframes admin-orb-2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-30px,-30px)scale(1.05)}}.admin-sidebar{-webkit-backdrop-filter:var(--blur-md);background:var(--surface-sidebar);border-right:1px solid var(--border);box-shadow:var(--shadow-sidebar);z-index:10;flex-direction:column;width:220px;height:100svh;display:flex;position:fixed;top:0;left:0}.admin-brand{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:24px 20px 20px;display:flex}.admin-brand-icon{color:var(--pk-500)}.admin-brand-text{color:var(--pk-900);letter-spacing:.02em;font-size:15px;font-weight:600}.admin-nav{flex-direction:column;flex:1;gap:2px;padding:14px 10px;display:flex;overflow-y:auto}.admin-nav-section{color:var(--text-muted);letter-spacing:.1em;opacity:.7;text-transform:uppercase;margin-top:14px;margin-bottom:4px;padding:0 10px;font-size:10px;font-weight:600}.admin-nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background var(--t-base),color var(--t-base);background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.admin-nav-item:hover{color:var(--pk-600);background:#d45c801a}.admin-nav-item.active{color:#a0254a;background:#d45c8026;font-weight:600}.admin-nav-item svg{opacity:.8;flex-shrink:0}.admin-back-wrap{border-bottom:1px solid #e6becd4d;padding:8px 10px 4px}.admin-back-btn{border-radius:var(--radius-md);color:var(--pk-600);cursor:pointer;transition:background var(--t-base),border-color var(--t-base),color var(--t-base);background:#fff0f680;border:1px solid #d45c8033;align-items:center;gap:7px;width:100%;padding:8px 12px;font-size:12.5px;font-weight:500;text-decoration:none;display:flex}.admin-back-btn:hover{color:var(--pk-700);background:#d45c801f;border-color:#d45c8066}.admin-back-ext{opacity:.5;margin-left:auto}.admin-user{border-top:1px solid var(--border-soft);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.admin-user-info{gap:10px}.admin-avatar,.admin-user-info{align-items:center;display:flex}.admin-avatar{background:linear-gradient(135deg,var(--pk-300) 0,var(--pk-500) 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;width:34px;height:34px;font-size:13px;font-weight:700;overflow:hidden}.admin-avatar img{object-fit:cover;width:100%;height:100%}.admin-user-meta{flex:1;min-width:0}.admin-user-name{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.admin-user-role{color:var(--text-muted);margin-top:1px;font-size:11px}.admin-logout-btn{border-radius:var(--radius-sm);color:var(--pk-600);cursor:pointer;transition:background var(--t-base),color var(--t-base);background:#d45c8014;border:none;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.admin-logout-btn:hover{color:var(--pk-700);background:#d45c802e}.admin-main{z-index:1;flex-direction:column;flex:1;min-height:100svh;margin-left:220px;display:flex;position:relative}.admin-content{flex:1;padding:28px}.admin-header{-webkit-backdrop-filter:var(--blur-sm);background:var(--surface-header);border-bottom:1px solid var(--border-soft);z-index:5;align-items:center;gap:12px;min-height:56px;padding:0 28px;display:flex;position:sticky;top:0}.admin-breadcrumb{flex-shrink:0}.admin-breadcrumb,.admin-breadcrumb-item{align-items:center;gap:2px;display:flex}.admin-breadcrumb-sep{color:#c0a0b0;opacity:.6}.admin-breadcrumb-link{color:var(--text-muted);transition:color var(--t-fast);font-size:12px}.admin-breadcrumb-link:hover{color:#a0254a}.admin-breadcrumb-current,.admin-header-title{color:var(--text-heading);font-size:14px;font-weight:600}.admin-header-title{opacity:.5;flex:1}.admin-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-header-icon-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;height:32px;transition:background var(--t-fast),color var(--t-fast);background:0 0;border:1px solid #d45c8033;justify-content:center;align-items:center;width:32px;display:flex}.admin-header-icon-btn:hover{color:#a0254a;background:#d45c801a}.admin-header-front-btn{border-radius:var(--radius-sm);color:var(--pk-600);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);background:#fff0f699;border:1px solid #d45c8040;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.admin-header-front-btn:hover{color:var(--pk-700);background:#d45c8024;border-color:#d45c8073}@media (max-width:768px){.admin-sidebar{width:64px}.admin-back-btn span,.admin-back-ext,.admin-brand-text,.admin-breadcrumb,.admin-header-front-btn span,.admin-logout-btn span,.admin-nav-item span,.admin-nav-section,.admin-user-meta{display:none}.admin-nav-item{justify-content:center;padding:10px}.admin-brand{padding:20px 10px}.admin-back-btn,.admin-brand,.admin-logout-btn,.admin-user-info{justify-content:center}.admin-back-btn{padding:8px}.admin-main{margin-left:64px}}.admin-panel,.admin-stat-card{-webkit-backdrop-filter:var(--blur-sm);background:var(--surface-panel);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel)}.admin-panel{padding:24px}.admin-stat-card{padding:18px 20px}.admin-panel-title{color:var(--text-heading);align-items:center;gap:8px;margin:0 0 16px;font-size:15px;font-weight:600;display:flex}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-stat-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600}.admin-stat-value{color:var(--pk-900);font-size:28px;font-weight:700;line-height:1}.admin-table{border-collapse:collapse;width:100%;font-size:13.5px}.admin-table th{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:10px 14px;font-size:11px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-soft);color:var(--text-heading);vertical-align:middle;padding:12px 14px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#d45c800a}.admin-table-row--clickable{cursor:pointer;transition:background .12s}.admin-table-row--clickable:hover{background:#ffdcf04d}.admin-sort-btn{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;align-items:center;gap:2px;padding:0;font-weight:600;transition:color .12s;display:inline-flex}.admin-sort-btn:hover{color:#c0406a}.admin-badge{border-radius:var(--radius-full);border:1px solid #0000;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.admin-badge--published{background:var(--badge-published-bg);border-color:var(--badge-published-border);color:var(--badge-published-color)}.admin-badge--draft{background:var(--badge-draft-bg);border-color:var(--badge-draft-border);color:var(--badge-draft-color)}.admin-badge--deleted{background:var(--badge-deleted-bg);border-color:var(--badge-deleted-border);color:var(--badge-deleted-color)}.admin-action-btn{border-radius:var(--radius-sm);color:var(--pk-600);cursor:pointer;transition:background var(--t-fast);vertical-align:middle;background:0 0;border:1px solid #d45c804d;align-items:center;gap:4px;padding:5px 12px;font-size:12px;line-height:1;display:inline-flex}.admin-action-btn:hover{background:#d45c801a}.admin-action-btn--primary{background:linear-gradient(135deg,var(--pk-500),var(--pk-600));color:#fff;border-color:#0000}.admin-action-btn--primary:hover{background:linear-gradient(135deg,#c04a6e,var(--pk-700))}.admin-action-btn--danger{color:#b03030;border-color:#c83c3c4d}.admin-action-btn--danger:hover{background:#c83c3c1a;border-color:#c83c3c80}.admin-form-field{margin-bottom:20px}.admin-form-label{color:var(--text-secondary);letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.admin-form-input,.admin-form-textarea{background:var(--surface-input);border:1px solid var(--border-input);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-base);transition:border-color var(--t-base),box-shadow var(--t-base);outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px}.admin-form-input:focus,.admin-form-textarea:focus{border-color:var(--pk-500);box-shadow:0 0 0 3px #d45c801f}.admin-form-textarea{resize:vertical;min-height:100px}.admin-form-actions{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;display:flex}.admin-form-radio-group{gap:20px;display:flex}.admin-form-radio{color:var(--text-heading);cursor:pointer;align-items:center;gap:7px;font-size:13.5px;display:flex}.admin-form-radio input[type=radio]{accent-color:var(--pk-500);cursor:pointer;width:15px;height:15px}.admin-upload-zone{background:var(--surface-upload);border-radius:var(--radius-lg);cursor:pointer;text-align:center;border:2px dashed #d45c804d;padding:32px 20px;transition:border-color .2s,background .2s}.admin-upload-zone--active,.admin-upload-zone:hover{border-color:var(--pk-500);background:#d45c800f}.admin-upload-icon{color:var(--pk-500);opacity:.6;margin-bottom:8px}.admin-upload-text{color:var(--text-secondary);margin:0 0 4px;font-size:14px;font-weight:500}.admin-upload-hint{color:var(--text-muted);margin:0;font-size:12px}.admin-upload-previews{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.admin-upload-preview{background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);align-items:center;gap:8px;max-width:260px;padding:6px 10px;font-size:12px;display:flex;position:relative}.admin-upload-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:40px;height:40px}.admin-upload-thumb--file{color:var(--pk-500);background:#d45c801a;justify-content:center;align-items:center;display:flex}.admin-upload-name{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-upload-remove{color:var(--text-muted);cursor:pointer;transition:color var(--t-fast),background var(--t-fast);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px}.admin-upload-remove:hover{color:var(--pk-500);background:#d45c801a}.admin-upload-spin{color:var(--pk-500);flex-shrink:0;animation:1s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-upload-error{color:#d44040;flex-shrink:0;font-size:11px}.admin-upload-ok{color:#40a060;flex-shrink:0;font-weight:600}.admin-filter-date,.admin-filter-select{background:var(--surface-input);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-base);transition:border-color var(--t-base),box-shadow var(--t-base);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.admin-filter-select{flex:none}.admin-filter-date{flex:none;width:136px}.admin-filter-date:focus,.admin-filter-select:focus{border-color:var(--pk-500);box-shadow:0 0 0 3px #d45c801f}.admin-batch-bar{border-radius:var(--radius-lg);background:#d45c8012;border:1px solid #d45c8040;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 14px;display:flex}.admin-batch-bar .admin-action-btn{align-items:center;gap:4px;line-height:1;display:inline-flex}.admin-batch-info{color:var(--text-secondary);flex-shrink:0;margin-right:4px;font-size:13px}.admin-batch-info strong{color:var(--pk-500)}.admin-check-btn{color:var(--text-muted);cursor:pointer;transition:color var(--t-fast);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:flex}.admin-check-btn:hover{color:var(--pk-500)}.admin-table-row--selected{background:#d45c800f!important}.admin-pagination{border-top:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.admin-pagination-info{color:var(--text-muted);font-size:12px}.admin-pagination-btns{align-items:center;gap:4px;display:flex}.admin-pagination-ellipsis{color:var(--text-muted);padding:0 4px;font-size:13px;line-height:1}.admin-status-tag{border-radius:20px;padding:2px 9px;font-size:11.5px;font-weight:500;line-height:1.6;display:inline-block}.admin-status-tag--published{color:#2e7d32;background:#4aac4a1f}.admin-status-tag--draft{color:#888;background:#b4b4b426}.admin-status-tag--public{color:#1565c0;background:#4285f41f}.admin-status-tag--private{color:#b03030;background:#b45a5a1a}.admin-status-tag--superadmin{color:#c0446a;background:#c0446a1f}.admin-status-tag--admin{color:#7b2d96;background:#8a44c01a}.admin-status-tag--user{color:#1565c0;background:#4285f41a}.admin-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.admin-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #0000002e}.admin-modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.admin-modal-title{color:var(--text);font-size:14.5px;font-weight:600}.admin-modal-close{color:var(--muted-deep);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .18s;display:flex}.admin-modal-close:hover{color:var(--text)}.admin-modal-body{flex-direction:column;gap:12px;padding:20px;display:flex;overflow-y:auto}.admin-modal-footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.admin-form-row{flex-direction:column;gap:5px;display:flex}.admin-form-label{color:var(--text);font-size:12.5px;font-weight:500}.admin-input{background:var(--bg);border:1px solid var(--border-soft);color:var(--text);border-radius:8px;outline:none;height:36px;padding:0 12px;font-size:13.5px;transition:border-color .18s}.admin-input:focus{border-color:var(--rose-300,#fda4af)}.admin-form-error{color:#c0392b;margin:0;font-size:12.5px}.admin-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.admin-btn--primary{background:linear-gradient(135deg,var(--rose-300,#fda4af),var(--rose-500,#f43f5e));color:#fff;box-shadow:0 2px 8px #f43f5e40}.admin-btn--primary:hover{filter:brightness(1.07)}.admin-btn--primary:disabled{cursor:not-allowed;opacity:.6}.admin-btn--ghost{border:1px solid var(--border-soft);color:var(--muted-deep);background:0 0}.admin-btn--ghost:hover{background:#0000000a}.admin-toolbar{justify-content:space-between;gap:10px;margin-bottom:12px}.admin-filter-group,.admin-toolbar{flex-wrap:wrap;align-items:center;display:flex}.admin-filter-group{gap:8px}.cdialog-backdrop,.npost-backdrop,.pmodal-backdrop{-webkit-backdrop-filter:blur(6px);position:fixed;inset:0}.pmodal-backdrop{z-index:200;background:#280a1480}.npost-backdrop{-webkit-backdrop-filter:blur(4px);z-index:200;background:#19080f66}.cdialog-backdrop{-webkit-backdrop-filter:blur(4px);z-index:300;background:#1e081073}.cdialog-panel,.npost-panel,.pmodal-panel{-webkit-backdrop-filter:var(--blur-lg);background:var(--surface-modal);border:1px solid var(--border-modal);border-radius:var(--radius-2xl);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.pmodal-panel{box-shadow:var(--shadow-modal);width:min(680px,94vw);max-height:85vh}.npost-panel,.pmodal-panel{z-index:201;overflow-y:auto}.npost-panel{-webkit-backdrop-filter:var(--blur-xl);width:min(660px,94vw);max-height:90vh;box-shadow:0 20px 56px #50142833}.cdialog-panel{box-shadow:var(--shadow-dialog);text-align:center;z-index:301;width:min(360px,90vw);padding:28px 24px 22px}.npost-panel::-webkit-scrollbar{width:5px}.pmodal-panel::-webkit-scrollbar{width:5px}.npost-panel::-webkit-scrollbar-thumb{background:#d282a566;border-radius:3px}.pmodal-panel::-webkit-scrollbar-thumb{background:#d282a566;border-radius:3px}.npost-header,.pmodal-header{-webkit-backdrop-filter:blur(12px);background:var(--surface-modal);border-bottom:1px solid var(--border-soft);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;z-index:1;justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex;position:sticky;top:0}.npost-header-title,.pmodal-header-title{color:#7c3050;font-size:14px;font-weight:600}.npost-header-title{align-items:center;display:flex}.npost-body,.pmodal-body{padding:20px}.pmodal-close{color:#8a4060;cursor:pointer;height:28px;transition:background var(--t-fast);background:#dca0b933;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;display:flex}.pmodal-close:hover{background:#dca0b966}.pmodal-edit{color:var(--pk-600);cursor:pointer;height:28px;transition:all var(--t-fast);background:#d45c8014;border:1px solid #d45c8040;border-radius:6px;justify-content:center;align-items:center;width:28px;display:flex}.pmodal-edit:hover{color:var(--pk-700);background:#d45c8026;border-color:#d45c8073}.pmodal-meta-top{margin-bottom:6px}.pmodal-status-row{gap:8px}.pmodal-meta-bar,.pmodal-status-row{flex-wrap:wrap;align-items:center;display:flex}.pmodal-meta-bar{gap:6px;margin-bottom:14px}.pmodal-divider{background:#e6bed24d;height:1px;margin-bottom:16px}.pmodal-status-badge{border-radius:var(--radius-full);border:1px solid #0000;padding:3px 10px;font-size:11px;font-weight:600}.pmodal-status-badge--published{color:#2a7a50;background:#82c8962e;border-color:#64b47859}.pmodal-status-badge--draft{color:#666;background:#c8c8c82e;border-color:#b4b4b459}.pmodal-visibility-badge{border-radius:var(--radius-full);align-items:center;gap:3px;padding:3px 9px;font-size:10px;font-weight:500;display:inline-flex}.pmodal-visibility-badge--public{color:#2a6a8a;background:#64b4dc26;border:1px solid #50a0c859}.pmodal-visibility-badge--private{color:#8a5a40;background:#a0786426;border:1px solid #8c645059}.pmodal-title{color:var(--pk-900);margin:0 0 12px;font-size:18px;font-weight:700;line-height:1.4}.pmodal-meta-author,.pmodal-meta-date{color:#a07090;align-self:center;font-size:11px}.pmodal-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.pmodal-tag{color:#8a4060;background:#d28caf26;border:1px solid #d28caf59;border-radius:12px;padding:2px 8px;font-size:12px}.pmodal-footer-stats{border-top:1px solid #e6bed240;justify-content:flex-end;align-items:center;gap:14px;margin-top:18px;padding-top:12px;display:flex}.pmodal-stat-item{color:#7c3050;align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.pmodal-content-section{margin-bottom:18px}.pmodal-content-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;align-items:center;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.pmodal-content{color:#5a2a40;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.75}.pmodal-empty{opacity:.4}.pmodal-images,.pmodal-images-section{margin-top:4px}.pmodal-images-header{color:var(--text-muted);letter-spacing:.05em;align-items:center;gap:5px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.npost-thumb-grid,.pmodal-thumb-grid{gap:8px;display:grid}.pmodal-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.npost-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));margin-top:10px}.npost-thumb-item,.pmodal-thumb-btn{aspect-ratio:1;border-radius:var(--radius-md);background:#dca0b91f;overflow:hidden}.pmodal-thumb-btn{cursor:pointer;transition:border-color var(--t-fast),transform var(--t-fast);border:2px solid #0000;padding:0}.pmodal-thumb-btn:hover{border-color:#c8649699;transform:scale(1.04)}.npost-thumb-item{border:1.5px solid #dca0b94d;position:relative}.npost-thumb-img,.pmodal-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.npost-thumb-placeholder,.pmodal-thumb-video{color:#c080a0;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.npost-thumb-overlay{color:var(--pk-500);background:#fff0f8b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.npost-thumb-overlay--error{color:#d44040;background:#ffe6e6bf;font-size:16px;font-weight:700}.npost-thumb-remove{color:#fff;cursor:pointer;height:18px;transition:background var(--t-fast);background:#280a14a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;padding:0;display:flex;position:absolute;top:4px;right:4px}.npost-thumb-remove:hover{background:#b41432cc}.npost-thumb-add{aspect-ratio:1;border-radius:var(--radius-md);color:#c080a0;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast);background:#dca0b912;border:1.5px dashed #c882a08c;justify-content:center;align-items:center;display:flex}.npost-thumb-add:hover{color:#a05070;background:#dca0b926;border-color:#c86491b3}.npost-footer{-webkit-backdrop-filter:blur(12px);background:var(--surface-modal);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex;position:sticky;bottom:0}.pmodal-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:32px 20px;font-size:13px;display:flex}.pmodal-error{color:#d44040;text-align:center;padding:20px;font-size:13px}.cdialog-icon-wrap{color:var(--text-muted);background:#dca0b926;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;display:inline-flex}.cdialog-icon-wrap[data-danger=true]{color:#c03050;background:#dc50501f}.cdialog-title{color:var(--pk-900);margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.4}.cdialog-message{color:#7a4060;margin:0 0 20px;font-size:13px;line-height:1.6}.cdialog-actions{justify-content:center;gap:10px;display:flex}.cdialog-cancel,.cdialog-confirm{min-width:80px}.app-shell{background:linear-gradient(#fff5f7,#fff 40%,#fff5f7);min-height:100vh;overflow-x:hidden}.app-shell,.hero{position:relative}.hero{text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;padding:60px 24px 0;display:flex}.hero-sparkle{color:var(--rose-200);margin-bottom:16px;animation:3s ease-in-out infinite sparkle-pulse}@keyframes sparkle-pulse{0%,to{opacity:.6;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(8deg)}}.hero-quote{color:var(--rose-100);margin-bottom:20px}.hero-subtitle{color:var(--muted);letter-spacing:.45em;text-transform:uppercase;margin:0;font-size:11px;font-weight:500}.hero-line{background:linear-gradient(to bottom,var(--rose-100) 0,var(--rose-100) 60%,transparent 100%);width:1px;height:80px;margin-top:28px}.hero-scroll-circle{justify-content:center;align-items:center;margin-top:20px;display:flex}.scroll-ring{border:1.5px solid var(--rose-200);opacity:.5;border-radius:50%;width:28px;height:28px;animation:2.5s ease-in-out infinite ring-pulse}@keyframes ring-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.font-serif-cn{font-family:Noto Serif SC,Songti SC,SimSun,Georgia,serif;font-weight:600}.timeline-main{max-width:1000px;margin:0 auto;padding:60px 24px calc(100vh - 200px);position:relative}@media (min-width:768px){.timeline-main{padding:60px 48px calc(100vh - 200px)}}.timeline-line{background:linear-gradient(to bottom,transparent 0,var(--rose-100) 5%,var(--rose-100) 90%,transparent 100%);opacity:.4;pointer-events:none;width:1px;display:none;position:absolute;top:0;bottom:120px;left:50%;transform:translate(-50%)}@media (min-width:768px){.timeline-line{display:block}}.timeline-events{z-index:10;flex-direction:column;gap:120px;display:flex;position:relative}.floating-dots{position:fixed;inset:0;overflow:hidden}.dot{background:var(--rose-200)}.dot-1{opacity:.5;width:6px;height:6px;animation:6s ease-in-out infinite float-dot;top:32%;right:12%}.dot-2{opacity:.35;width:8px;height:8px;animation:7s ease-in-out 1s infinite float-dot;top:42%;right:10%}.dot-3{opacity:.45;width:5px;height:5px;animation:5s ease-in-out 2s infinite float-dot;top:55%;right:11%}.dot-4{opacity:.3;width:7px;height:7px;animation:8s ease-in-out .5s infinite float-dot;top:68%;right:13%}.dot-5{opacity:.4;width:4px;height:4px;animation:6s ease-in-out 3s infinite float-dot;top:25%;right:14%}@keyframes float-dot{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.memory-counter{z-index:50;display:none;position:fixed;bottom:28px;left:28px}@media (min-width:1024px){.memory-counter{display:block}}.memory-counter-text{color:var(--rose-300);letter-spacing:.3em;text-transform:uppercase;font-size:10px;font-weight:700}.scroll-to-top-btn{-webkit-backdrop-filter:var(--blur-md);color:var(--rose-300);cursor:pointer;z-index:50;background:#ffffffe6;border:1px solid #fda4af4d;border-radius:50%;outline:none;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 20px #fb718526}.scroll-to-top-btn:hover{border-color:var(--rose-300);color:var(--rose-500);background:#fff;transform:translateY(-2px);box-shadow:0 6px 24px #fb718540}@media (prefers-color-scheme:dark){.scroll-to-top-btn{color:var(--rose-300);background:#1a0a10cc;border-color:#9f123959}.scroll-to-top-btn:hover{border-color:var(--rose-500);color:#f3f4f6;background:#1a0a10e6}}::selection{color:var(--rose-500);background:#fb718526}.timeline-card{flex-direction:column;align-items:center;gap:0;transition:opacity .8s,transform .8s cubic-bezier(.25,.46,.45,.94);display:flex}@media (min-width:768px){.timeline-card{grid-template-columns:1fr 60px 1fr;align-items:center;display:grid}}.timeline-card.inactive{cursor:pointer;opacity:.2;transform:translateY(24px)}.timeline-card.inactive:hover{opacity:.4;transform:translateY(16px)}.timeline-card.active{opacity:1;transform:translateY(0)}@media (min-width:768px){.timeline-card.layout-left .timeline-card-photo{order:1;padding-right:32px}.timeline-card.layout-left .timeline-card-connector{order:2}.timeline-card.layout-left .timeline-card-content,.timeline-card.layout-right .timeline-card-photo{order:3;padding-left:32px}.timeline-card.layout-right .timeline-card-connector{order:2}.timeline-card.layout-right .timeline-card-content{text-align:right;order:1;padding-right:32px}.timeline-card.layout-right .event-date{justify-content:flex-end}.timeline-card.layout-right .event-description{border-left:none;border-right:2px solid var(--rose-200);padding-left:0;padding-right:20px}.timeline-card.layout-right .event-stats,.timeline-card.layout-right .event-tags{justify-content:flex-end}}.timeline-card-photo{justify-content:center;padding:0 16px;display:flex}@media (min-width:768px){.timeline-card-photo{padding:0}}.fan-gallery{justify-content:center;align-items:flex-end;width:260px;height:280px;transition:opacity .5s,transform .6s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.fan-gallery.fan-inactive{opacity:.45;transform:scale(.88)}.fan-gallery.fan-active{opacity:1;transform:scale(1)}.fan-card{cursor:default;transform-origin:bottom;will-change:transform;border-radius:12px;outline:2.5px solid #ffffffe6;width:160px;height:213px;transition:transform .35s cubic-bezier(.34,1.3,.64,1),box-shadow .3s,filter .3s;position:absolute;bottom:0;overflow:hidden;box-shadow:0 4px 14px #0000001f,0 10px 30px #00000014}.fan-gallery.fan-active .fan-card{cursor:pointer}.fan-card:not(.fan-hovered){filter:brightness(.9)saturate(.9)}.fan-card.fan-hovered{filter:none;box-shadow:0 16px 40px #0000002e,0 30px 60px #0000001f}.fan-card.fan-clickable{cursor:zoom-in}.fan-card-image{object-fit:cover;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:opacity .4s;display:block}.fan-card-image.loaded{opacity:1}.fan-card-image.img-error{opacity:1;background:#fce7e7}.fan-index{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffd9;letter-spacing:.06em;pointer-events:none;-webkit-user-select:none;user-select:none;background:#00000061;border-radius:12px;padding:2px 8px;font-size:10px;position:absolute;bottom:10px;right:12px}.timeline-card-connector{justify-content:center;align-items:center;padding:20px 0;display:flex}@media (min-width:768px){.timeline-card-connector{padding:0}}.connector-heart{border:1.5px solid var(--rose-100);color:var(--rose-200);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .4s;display:flex;position:relative;overflow:visible;box-shadow:0 2px 12px #fb718526}.connector-heart.active{border-color:var(--rose-300);color:var(--rose-300);background:#fff1f2;transform:scale(1.1);box-shadow:0 4px 20px #fb71854d}.connector-heart:after{border:1.5px solid var(--rose-300);content:"";opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-4px;transform:scale(1)}.connector-heart.active:after{animation:.6s ease-out forwards heart-ripple}@keyframes heart-ripple{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.timeline-card-content{padding:0 24px 32px}@media (min-width:768px){.timeline-card-content{padding:0}}.event-date{color:#d4d4d8;letter-spacing:.15em;align-items:center;gap:8px;margin-bottom:14px;font-size:12px;font-weight:600;transition:color .4s;display:flex}.event-date.active{color:var(--rose-300)}.event-title{color:#d4d4d8;letter-spacing:.04em;margin:0 0 20px;font-size:28px;line-height:1.3;transition:color .4s}@media (min-width:768px){.event-title{font-size:34px}}.event-title.active{color:#1f2937}.event-description{border-left:2px solid var(--rose-200);opacity:0;margin:0;padding-left:20px;transition:all .6s;transform:translateY(10px)}.event-description.active{opacity:1;transform:translateY(0)}.event-description p{color:#6b7280;margin:0;font-size:14px;font-weight:300;line-height:1.9}.event-tags{flex-wrap:wrap;gap:8px;margin-top:20px;animation:.5s both fade-in-up;display:flex}.event-tag{border:1px solid var(--rose-100);color:#e11d48;cursor:default;letter-spacing:.08em;background:#fff1f2;border-radius:20px;padding:4px 14px;font-size:11px;font-weight:500;transition:background .2s}.event-tag:hover{background:#ffe4e6}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hidden-card{opacity:0}.hidden-card.from-left{transform:translate(-48px)translateY(20px)}.hidden-card.from-right{transform:translate(48px)translateY(20px)}.timeline-card.revealed{opacity:1;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translate(0)translateY(0)!important}.timeline-card.revealed.inactive{opacity:.2;transition:opacity .8s,transform .8s cubic-bezier(.25,.46,.45,.94);transform:translateY(24px)!important}.timeline-card.revealed.inactive:hover{opacity:.4;transform:translateY(16px)!important}.timeline-card.revealed.active{opacity:1;transform:translateY(0)!important}@media (prefers-reduced-motion:reduce){.hidden-card{opacity:1;transform:none}.timeline-card.revealed{transition:none}}.event-stats{border-top:1px solid var(--rose-100);opacity:0;pointer-events:none;align-items:center;gap:10px;margin-top:10px;padding-top:10px;transition:opacity .4s,transform .4s;display:flex;transform:translateY(6px)}.timeline-card.active .event-stats{opacity:1;pointer-events:auto;transform:translateY(0)}.event-stat{border:1px solid var(--rose-200);color:var(--muted-deeper,#9a6075);cursor:pointer;background:#fda4af0f;border-radius:20px;justify-content:center;align-items:center;gap:4px;min-width:36px;padding:4px 10px;font-family:inherit;font-size:12px;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.event-stat:hover{border-color:var(--rose-300);color:var(--rose-500);background:#fda4af2e}.event-stat--btn{cursor:pointer}.event-stat--like.liked{border-color:var(--rose-300);color:var(--rose-400);background:#fb718526}.comment-overlay{-webkit-backdrop-filter:blur(16px)saturate(1.6);backdrop-filter:blur(16px)saturate(1.6);z-index:9900;background:#500a198c;flex-direction:row;animation:.25s forwards co-fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.comment-overlay--closing{animation:.28s forwards co-fade-out}@keyframes co-fade-in{0%{opacity:0}to{opacity:1}}@keyframes co-fade-out{0%{opacity:1}to{opacity:0}}.comment-overlay-post{flex-direction:column;flex:1;animation:.38s cubic-bezier(.22,1,.36,1) 50ms both co-post-in;display:flex;position:relative;overflow-y:auto}.comment-overlay--closing .comment-overlay-post{animation:.26s cubic-bezier(.55,0,1,.45) both co-post-out}@keyframes co-post-out{to{opacity:0;transform:translate(40px)scale(.96)}}@keyframes co-post-in{0%{opacity:0;transform:translate(48px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.comment-overlay-post-info{color:#fff;flex-shrink:0;padding:40px 44px 24px}.comment-overlay-date{color:#fff9;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:500}.comment-overlay-title{text-shadow:0 2px 8px #00000040;margin:0 0 14px;font-size:clamp(24px,3.5vw,42px);font-weight:700;line-height:1.2}.comment-overlay-desc{color:#ffffffc7;line-clamp:4;-webkit-line-clamp:4;-webkit-box-orient:vertical;max-width:520px;margin:0 0 18px;font-size:14px;line-height:1.8;display:-webkit-box;overflow:hidden}.comment-overlay-tags{flex-wrap:wrap;gap:8px;display:flex}.comment-overlay-tags .event-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffe0;background:#ffffff1f;border-color:#ffffff59}.comment-overlay-divider{background:#ffffff2e;flex-shrink:0;height:1px;margin:0 44px}.comment-overlay-carousel{aspect-ratio:16/10;border-radius:14px;flex-shrink:0;min-height:0;max-height:420px;margin:20px 44px 32px;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000004d}.comment-overlay-carousel-img{object-fit:contain;background:#00000040;width:100%;height:100%;animation:.3s carousel-fade;display:block}@keyframes carousel-fade{0%{opacity:.5;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.comment-carousel-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;z-index:2;background:#00000059;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.comment-carousel-btn:hover{background:#0000008c}.comment-carousel-btn--prev{left:16px}.comment-carousel-btn--next{right:16px}.comment-carousel-dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.comment-carousel-dot{cursor:pointer;background:#ffffff73;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:background .2s,transform .2s}.comment-carousel-dot.active{background:#fff;transform:scale(1.3)}.comment-overlay-images,.comment-overlay-img{display:none}.comment-panel{background:var(--page-bg-2,#fff8fb);flex-direction:column;width:min(420px,100%);max-width:440px;height:100%;animation:.35s cubic-bezier(.22,1,.36,1) both co-panel-in;display:flex;overflow:hidden;box-shadow:4px 0 32px #b4284b1f}@keyframes co-panel-in{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.comment-overlay--closing .comment-panel{animation:.26s cubic-bezier(.55,0,1,.45) both co-panel-out}@keyframes co-panel-out{to{opacity:0;transform:translate(-50px)}}.comment-panel-header{border-bottom:1px solid var(--rose-100);flex-shrink:0;padding:14px 20px 12px}.comment-panel-back{color:var(--muted-darker,#9a6075);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-bottom:8px;padding:3px 0;font-family:inherit;font-size:12px;font-weight:500;transition:color .15s;display:inline-flex}.comment-panel-back:hover{color:var(--rose-500)}.comment-panel-title{color:var(--text-h);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.comment-panel-count{background:var(--rose-100);color:var(--rose-500);border-radius:20px;padding:1px 7px;font-size:11px;font-weight:600}.comment-panel-subtitle{color:var(--muted-darker,#9a6075);text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 40px);margin-top:2px;font-size:11px;overflow:hidden}.comment-panel-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex;position:absolute;top:14px;right:16px}.comment-panel-close:hover{background:var(--rose-100);color:var(--rose-500)}.comment-list{flex-direction:column;flex:1;gap:16px;padding:12px 20px;display:flex;overflow-y:auto}.comment-list::-webkit-scrollbar{width:4px}.comment-list::-webkit-scrollbar-track{background:0 0}.comment-list::-webkit-scrollbar-thumb{background:var(--rose-100);border-radius:2px}.comment-row{align-items:flex-start;gap:10px;display:flex}.comment-row--reply{gap:8px}.comment-avatar{object-fit:cover;border-radius:50%;flex-shrink:0}.comment-avatar--text{color:#fff;letter-spacing:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.comment-body{flex:1;min-width:0}.comment-meta{align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.comment-author{color:#c0446a;font-size:12px;font-weight:600}.comment-time{color:var(--muted-deep,#c084a8);font-size:10px}.comment-content{color:#374151;word-break:break-word;margin:0;font-size:13px;line-height:1.6}.comment-actions{align-items:center;gap:10px;margin-top:5px;display:flex}.comment-action-btn{color:var(--muted-deep,#c084a8);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:2px 0;font-family:inherit;font-size:11px;transition:color .15s;display:inline-flex}.comment-action-btn.liked,.comment-action-btn:hover:not(:disabled){color:var(--rose-400)}.comment-action-btn--danger{color:#bbb}.comment-action-btn--danger:hover{color:var(--rose-500)!important}.comment-action-btn:disabled{cursor:not-allowed;opacity:.4}.comment-reply-target{color:var(--rose-400);font-size:11px;font-weight:500}.comment-replies{border-left:2px solid var(--rose-100);flex-direction:column;gap:10px;margin-top:10px;padding-left:8px;display:flex}.comment-load-more{border:1px solid var(--rose-100);color:var(--muted-deep);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-size:12px;transition:background .15s,border-color .15s;display:flex}.comment-load-more:hover{background:var(--rose-100);border-color:var(--rose-200)}.comment-empty,.comment-loading{color:var(--muted);text-align:center;padding:32px 0;font-size:13px}.comment-input-area{background:var(--page-bg-2,#fff8fb);border-top:1px solid var(--rose-100);flex-shrink:0;padding:12px 16px}.comment-reply-hint{background:var(--rose-100);color:var(--muted-deep);border-radius:6px;align-items:center;gap:5px;margin-bottom:8px;padding:5px 8px;font-size:11px;display:flex}.comment-reply-hint button{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;margin-left:auto;transition:color .15s;display:flex}.comment-reply-hint button:hover{color:var(--rose-500)}.comment-login-hint{color:var(--muted-darker);text-align:center;padding:10px 0;font-size:13px}.comment-login-hint a{color:var(--rose-400);font-weight:500;text-decoration:none}.comment-form{flex-direction:column;gap:6px;display:flex}.comment-textarea{border:1px solid var(--rose-100);box-sizing:border-box;color:#374151;resize:none;background:#fff;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.comment-textarea:focus{border-color:var(--rose-200);box-shadow:0 0 0 3px #fb71851f}.comment-textarea::placeholder{color:#bfb0b5}.comment-form-footer{justify-content:flex-end;align-items:center;gap:8px;display:flex}.comment-char-count{color:var(--muted);font-size:10px}.comment-submit-btn{background:linear-gradient(135deg,var(--rose-400),var(--rose-500));color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:opacity .15s,transform .1s;display:inline-flex}.comment-submit-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.comment-submit-btn:disabled{cursor:not-allowed;opacity:.4}@media (max-width:767px){.comment-overlay{background:#b4284b38;flex-direction:column}.comment-overlay-post{flex:none;animation:.35s cubic-bezier(.22,1,.36,1) 50ms both co-post-in-m;overflow:hidden}@keyframes co-post-in-m{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.comment-overlay-post-info{padding:20px 20px 16px}.comment-overlay-title{margin-bottom:6px;font-size:18px}.comment-overlay-desc{line-clamp:2;-webkit-line-clamp:2;margin-bottom:10px;font-size:13px}.comment-overlay-divider{margin:0 20px}.comment-overlay-carousel{flex:none;height:180px}.comment-overlay-date{margin-bottom:6px}.comment-panel{border-radius:16px 16px 0 0;flex:1;width:100%;max-width:100%;animation:.35s cubic-bezier(.22,1,.36,1) both co-panel-in-m;box-shadow:0 -8px 32px #b4284b1f}@keyframes co-panel-in-m{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}}.side-nav{-webkit-backdrop-filter:blur(12px);scrollbar-width:none;z-index:50;background:#ffffffbf;border:1px solid #fda4af4d;border-radius:40px;flex-direction:row;gap:12px;max-width:calc(100vw - 48px);padding:10px 18px;display:flex;position:fixed;bottom:24px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 4px 20px #fb71851f}.side-nav::-webkit-scrollbar{display:none}.side-nav .side-nav-label{display:none}@media (min-width:1024px){.side-nav{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:20px;padding:0;inset:50% 28px auto auto;transform:translateY(-50%)}.side-nav .side-nav-label{display:inline}}@media (prefers-color-scheme:dark){@media (max-width:1023px){.side-nav{background:#1a0a10cc;border-color:#9f123959}}}.side-nav-item{cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:12px;padding:4px;display:flex}.side-nav-label{color:#0000;letter-spacing:.15em;white-space:nowrap;font-size:10px;font-weight:600;transition:all .3s}.side-nav-item.active .side-nav-label{color:var(--rose-300)}.side-nav-item:hover .side-nav-label{color:var(--rose-200)}.side-nav-dot{background:var(--rose-100);border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:all .3s}.side-nav-item.active .side-nav-dot{background:var(--rose-300);transform:scale(1.4);box-shadow:0 0 0 4px #fb718526,0 0 12px #fb71854d}.side-nav-item:hover .side-nav-dot{background:var(--rose-200);transform:scale(1.2)}.hero-nav-btn{color:var(--muted-darker);cursor:pointer;letter-spacing:.15em;text-transform:uppercase;z-index:100;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;outline:none;flex-direction:row;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;text-decoration:none;transition:color .25s,transform .25s;display:inline-flex;position:fixed!important}.hero-nav-btn:after{background:var(--muted-darker);content:"";transform-origin:0;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.hero-nav-btn:focus-visible:after,.hero-nav-btn:hover:after{transform:scaleX(1)}.hero-nav-btn:focus-visible,.hero-nav-btn:hover{color:var(--rose-300);transform:translateY(-2px);background:0 0!important}.hero-nav-btn:focus{outline:none}@media (hover:none){.hero-nav-btn:hover{color:var(--muted);transform:none}.hero-nav-btn:hover:after{transform:scaleX(0)}.hero-nav-btn:active{color:var(--rose-300)}}@media (prefers-color-scheme:dark){.hero-nav-btn{color:#9a6075}.hero-nav-btn:after{background:#9a6075}.hero-nav-btn:focus-visible,.hero-nav-btn:hover{color:var(--rose-300)}}@media (prefers-reduced-motion:reduce){.hero-nav-btn{transform:none!important}.hero-nav-btn,.hero-nav-btn:after{transition:none}}.hero-back{top:24px;left:28px}.hero-sort-toggle{top:24px;right:28px}.hero-tag-link{top:68px;right:28px}@media (prefers-color-scheme:dark){.app-shell{background:linear-gradient(#1a0a10,#0f0f0f 40%,#1a0a10)}.hero-subtitle{color:#9f1239}.hero-line{background:linear-gradient(#9f1239 0 60%,#0000 100%)}.connector-heart{background:#1f1f1f;border-color:#9f1239}.connector-heart.active{background:#2a1015;border-color:#e11d48}.event-title.active{color:#f3f4f6}.event-description p{color:#9ca3af}.event-tag{color:#fb7185;background:#9f123933;border-color:#9f1239}.timeline-line{filter:drop-shadow(0 0 6px #9f123980);background:linear-gradient(#0000,#9f1239 5% 90%,#0000)}}@media (prefers-reduced-motion:reduce){.connector-heart,.event-description,.fan-card,.fan-gallery,.hero-sparkle,.scroll-ring,.side-nav-dot,.timeline-card{transition:none!important;animation:none!important}.dot{animation:none!important}.floating-heart,.mouse-trail{display:none;animation:none!important}}@media (max-width:767px){.timeline-main{padding:48px 16px 160px}.timeline-events{gap:72px}.timeline-card{grid-template-columns:1fr}.fan-gallery{width:280px;height:296px}.fan-card{width:176px;height:234px}.event-title{font-size:24px}.side-nav{gap:8px;padding:8px 14px}.hero{padding:48px 16px 0}.hero-line{height:56px}}@media (max-width:480px){.timeline-main{padding:40px 12px 140px}.timeline-events{gap:56px}.fan-gallery{width:240px;height:260px}.fan-card{width:154px;height:205px}.event-title{margin-bottom:14px;font-size:22px}.event-description p{font-size:13px;line-height:1.8}.timeline-card-content{padding:0 12px 24px}.side-nav{gap:6px;max-width:calc(100vw - 32px);padding:7px 12px}.side-nav-dot{width:6px;height:6px}.hero{padding:40px 12px 0}.hero-line{height:44px}.scroll-ring{width:22px;height:22px}.scroll-to-top-btn{width:40px;height:40px;bottom:72px;right:16px}}@media (max-width:360px){.fan-gallery{width:210px;height:230px}.fan-card{width:136px;height:181px}.event-title{font-size:20px}.timeline-card-content{padding:0 8px 20px}.side-nav{gap:4px;padding:6px 10px}}.floating-heart{pointer-events:none;z-index:100;font-size:12px;animation:1.5s ease-out forwards float-up;position:absolute}@keyframes float-up{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-60px)scale(.8)}}.mouse-trail{background:var(--rose-300);pointer-events:none;will-change:transform,opacity;z-index:9999;border-radius:50%;width:6px;height:6px;animation:.8s ease-out forwards trail-fade;position:fixed;transform:translate(-50%,-50%)translateZ(0)}@keyframes trail-fade{0%{opacity:.6;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(0)}}.secret-mode .hero-subtitle{animation:2s linear infinite rainbow}.secret-mode .hero-sparkle{animation:.5s ease-in-out infinite sparkle-pulse}.secret-mode .timeline-line{background:linear-gradient(to bottom,transparent 0,var(--rose-300) 5%,var(--rose-300) 90%,transparent 100%);opacity:.8}@keyframes rainbow{0%{color:#fb7185}33%{color:#f472b6}66%{color:#a78bfa}to{color:#fb7185}}.special-day .hero-sparkle{color:var(--rose-300);transform:scale(1.3)}.special-day .scroll-ring{border-color:var(--rose-300);animation-duration:1s}:root{--rose-100:#fecdd3;--rose-200:#fda4af;--rose-300:#fb7185;--rose-400:#f43f5e;--rose-500:#e11d48;--muted:#e2a0b0;--muted-deep:#c084a8;--muted-darker:#9a6075;--text-h:#c0446a;--page-bg:#fdf4f7;--page-bg-2:#fff8fb;--page-dark-bg:#130d10;--page-dark-bg-2:#16171d;--serif:"Noto Serif SC",Georgia,serif;--sans:system-ui,sans-serif;--glass-white:#ffffff80;--glass-soft:#fff8fb99;--glass-card:#ffffff9e;--t-fast:.2s;--t-base:.25s ease;--blur-sm:blur(10px);--blur-md:blur(12px);--blur-lg:blur(20px)}@media (prefers-color-scheme:dark){:root{--muted:#9a6075;--muted-deep:#9a6075;--text-h:#e8607e;--glass-white:#1e0f1480;--glass-soft:#140a108c;--glass-card:#190c12a6}}.tag-shell{background:radial-gradient(ellipse 80% 60% at 20% 10%,#ffb6c147 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 90%,#ffb6c138 0,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 50%,var(--page-bg) 0,var(--page-bg-2) 100%);box-sizing:border-box;min-height:100vh;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.tag-shell{background:radial-gradient(ellipse 80% 60% at 20% 10%,#b43c5a2e 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 90%,#b43c5a24 0,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 50%,var(--page-dark-bg) 0,var(--page-dark-bg-2) 100%)}}.floating-dots{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.dot{background:#fda4af4d;border-radius:50%;animation:6s ease-in-out infinite dot-float;position:absolute}.dot.dot-1{width:8px;height:8px;animation-delay:0s;top:10%;left:10%}.dot.dot-2{width:6px;height:6px;animation-delay:1s;top:20%;right:15%}.dot.dot-3{width:10px;height:10px;animation-delay:2s;bottom:30%;left:20%}.dot.dot-4{width:7px;height:7px;animation-delay:3s;top:60%;right:10%}.dot.dot-5{width:9px;height:9px;animation-delay:4s;bottom:20%;left:70%}@keyframes dot-float{0%,to{opacity:.3;transform:translateY(0)rotate(0)}50%{opacity:.6;transform:translateY(-20px)rotate(180deg)}}.tag-header{z-index:10;justify-content:space-between;align-items:center;padding:40px 24px 20px;display:flex;position:relative}.tag-back{color:var(--muted-darker);position:relative;top:auto;left:auto}.tag-back:hover{color:var(--rose-300)}@media (prefers-color-scheme:dark){.tag-back{color:#9a7075b3}.tag-back:hover{color:#9a7075}}.tag-selection{z-index:10;padding:20px 24px 40px;position:relative}.tag-chips{flex-wrap:wrap;justify-content:center;gap:28px;display:flex}.tag-chips::-webkit-scrollbar{display:none}.tag-chip{color:#c084a8;cursor:pointer;letter-spacing:.08em;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#ffffff80;border:1px solid #fb718540;border-radius:20px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.tag-chip:after{display:none}.tag-chip:hover{color:var(--rose-300);background:#ffffffd9;border-color:#fb718580}.tag-chip.selected{color:#e11d48;background:#fb71851f;border-color:#e11d4873;box-shadow:0 2px 10px #fb718533}.tag-chip.selected:after{display:none}.tag-chip:focus{outline:none}@media (hover:none){.tag-chip:hover{color:#c084a8;background:#ffffff80;border-color:#fb718540}}.tag-main{z-index:10;padding:0 24px 100px;position:relative}.tag-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;max-width:1200px;margin:0 auto;display:grid}@media (max-width:768px){.tag-grid{grid-template-columns:1fr;gap:24px}}.tag-event-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#ffffffb3;border:1px solid #fda4af33;border-radius:16px;transition:all .3s;overflow:hidden}.tag-event-card:hover{border-color:#fb718566;box-shadow:0 20px 40px #fda4af4d}@media (prefers-color-scheme:dark){.tag-event-card{background:#1e0f1499;border-color:#a0506433}.tag-event-card:hover{border-color:#fb71854d;box-shadow:0 20px 40px #b43c5a33}}.tag-event-photo{aspect-ratio:16/9;position:relative;overflow:hidden}.tag-carousel{cursor:pointer;will-change:contents;width:100%;height:100%;position:relative}.tag-carousel-image{object-fit:cover;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:opacity;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.tag-carousel-image.active{opacity:1}.tag-carousel-image.img-error{object-fit:none;background:#fce7e7;opacity:1!important}.tag-carousel-nav{color:#c084a8;cursor:pointer;z-index:2;background:#fffc;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tag-carousel-nav:hover{color:var(--rose-300);background:#fff}.tag-carousel-prev{left:8px}.tag-carousel-next{right:8px}.tag-carousel-indicators{z-index:2;gap:6px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.tag-carousel-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;transition:background .2s}.tag-carousel-dot.active{background:var(--rose-300)}.tag-carousel-dot:hover{background:#fffc}.tag-event-content{padding:20px}.tag-event-date{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:500}.tag-event-title{color:var(--text-h);margin:0 0 12px;font-size:18px;line-height:1.3}.tag-event-description{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 16px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.tag-event-tags{flex-wrap:wrap;gap:8px;display:flex}.tag-event-tag{color:var(--rose-300);background:#fb71851a;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:500}@media (prefers-color-scheme:dark){.tag-event-date{color:#9a6075}.tag-event-tag{color:var(--rose-300);background:#fb718533}}.tag-footer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#fffc;border:1px solid #fda4af4d;border-radius:20px;padding:10px 20px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.tag-counter{color:#c084a8;font-size:12px;font-weight:500}@media (prefers-color-scheme:dark){.tag-footer{background:#1e0f14b3;border-color:#a050644d}.tag-counter{color:#9a6075}}@media (prefers-reduced-motion:reduce){.dot{animation:none}.tag-chip,.tag-event-card{transition:none}}@media (max-width:768px){.tag-header{padding:30px 16px 16px}.tag-selection{padding:0 16px 30px}.tag-main{padding:0 16px 120px}.tag-grid{gap:20px}.tag-event-content{padding:16px}.tag-event-title{font-size:16px}}.heart-bridge{cursor:pointer}.floating-heart-fullscreen{pointer-events:none;will-change:transform,opacity;z-index:9999;animation:2.2s ease-out forwards heart-rise;position:fixed}@keyframes heart-rise{0%{opacity:.9;transform:translateY(0)rotate(0)scale(1)}15%{opacity:1}to{opacity:0;transform:translateY(-90vh)rotate(270deg)scale(.4)}}.secret-mode .bridge-heart{color:#f472b6;animation:.6s ease-in-out infinite heartbeat}.secret-mode .home-orb{animation-duration:4s}.secret-mode .home-title{animation:2s linear infinite rainbow}.anniversary .days-num{animation:2s ease-in-out infinite pulse-glow}.anniversary .bridge-heart{animation:.8s ease-in-out infinite heartbeat}@keyframes pulse-glow{0%,to{text-shadow:0 0 #0000}50%{text-shadow:0 0 24px #fb718599}}.konami-mode .home-shell{filter:hue-rotate(180deg)}.konami-mode .avatar-img-wrap{animation:2s linear infinite avatar-spin}@keyframes avatar-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.konami-indicator{pointer-events:none;z-index:100;gap:4px;margin-bottom:12px;animation:.25s ease-out indicator-appear;display:flex}.konami-key{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e2a0b0;background:#ffffff8c;border:1px solid #fb71854d;border-radius:4px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 4px;font-size:9px;font-weight:600;transition:background .12s,color .12s,transform .12s;display:flex}.konami-key.pressed{color:#fff;background:#fb7185;border-color:#fb7185;transform:scale(1.08)}@media (prefers-color-scheme:dark){.konami-key{background:#1a0a1099}}.ilove-you-indicator{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2a0b0;z-index:100;background:#ffffffe0;border:1px solid #fb718540;border-radius:25px;align-items:center;gap:6px;margin-bottom:12px;padding:7px 14px;font-size:13px;font-weight:500;animation:.25s ease-out indicator-appear;display:flex;box-shadow:0 4px 16px #fb71851f}.ilove-you-text{color:#fb7185;margin-right:4px;font-weight:600}.ilove-you-char{color:#d1d5db;text-align:center;width:12px;transition:color .12s,transform .12s;display:inline-block}.ilove-you-char.typed{color:#fb7185;font-weight:700;transform:scale(1.1)}@keyframes indicator-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){.ilove-you-indicator{background:#1a0a10cc;border-color:#9f123966}}.ilove-you-stage-1 .avatar-col:first-child{animation:1.5s ease-out avatar-jump-left}.ilove-you-stage-1 .avatar-col:nth-child(3){animation:1.5s ease-out avatar-jump-right}@keyframes avatar-jump-left{0%{transform:translate(0)scale(1)}20%{transform:translate(-20px)scale(1.1)}40%{transform:translate(-60px)scale(.9)}60%{transform:translate(-100px)scale(1.2)}80%{transform:translate(-140px)scale(.8)}to{opacity:0;transform:translate(-200px)scale(.6)}}@keyframes avatar-jump-right{0%{transform:translate(0)scale(1)}20%{transform:translate(20px)scale(1.1)}40%{transform:translate(60px)scale(.9)}60%{transform:translate(100px)scale(1.2)}80%{transform:translate(140px)scale(.8)}to{opacity:0;transform:translate(200px)scale(.6)}}.ilove-you-stage-2 .home-center{animation:1s ease-in-out page-flip}@keyframes page-flip{0%{transform:perspective(1000px)rotateY(0)}50%{opacity:.5;transform:perspective(1000px)rotateY(90deg)}to{opacity:0;transform:perspective(1000px)rotateY(180deg)}}.ilove-you-stage-3 .days-display,.ilove-you-stage-3 .hms-row,.ilove-you-stage-3 .home-cta{animation:1s ease-out forwards element-explode}@keyframes element-explode{0%{opacity:1;transform:scale(1)translate(0)}25%{transform:scale(1.2)translate(10px,-10px)}50%{opacity:.8;transform:scale(.8)translate(-15px,15px)}75%{opacity:.5;transform:scale(1.3)translate(20px,-20px)}to{opacity:0;transform:scale(.5)translate(50px,-50px)}}.ilove-you-display{z-index:1000;background:radial-gradient(#fff1f2 0,#fecdd3 30%,#fda4af 60%,#fb7185 100%);flex-direction:column;justify-content:center;align-items:center;animation:1.2s cubic-bezier(.34,1.56,.64,1) forwards love-appear;display:flex;position:fixed;inset:0;overflow:hidden}.ilove-you-display:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 80%,#ffffff4d 0,#0000 50%),radial-gradient(circle at 80% 20%,#fff3 0,#0000 40%),radial-gradient(circle at 40% 40%,#ffffff26 0,#0000 30%);position:absolute;inset:0}@media (prefers-color-scheme:dark){.ilove-you-display{background:radial-gradient(#1f1214 0,#3b181c 30%,#5c1f27 60%,#882430 100%)}}.love-heart-big{filter:drop-shadow(0 8px 24px #fb718573);margin-bottom:40px;font-size:clamp(72px,15vw,120px);animation:.8s ease-in-out infinite heart-beat-love}.love-heart-big,.love-text{will-change:transform;z-index:2}.love-text{color:#fff;letter-spacing:.35em;text-shadow:0 0 20px #fb7185cc,0 4px 24px #ef444466,0 8px 48px #f472b64d;margin:0;font-size:clamp(36px,8vw,56px);font-weight:200;animation:3s ease-in-out infinite text-float;position:relative}.love-text:after{content:"";opacity:.6;background:linear-gradient(90deg,#0000,#fff,#0000);width:60%;height:2px;animation:2s ease-in-out infinite line-pulse;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.love-sparkles .sparkle{filter:drop-shadow(0 0 6px #ffffff80);pointer-events:none;will-change:transform,opacity;font-size:18px;animation:4s ease-in-out infinite sparkle-float;position:absolute}.love-bg-hearts{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.bg-heart{filter:drop-shadow(0 0 6px #fb718566);opacity:.4;will-change:transform,opacity;animation:linear infinite bg-heart-rise;position:absolute;bottom:-50px}@media (prefers-color-scheme:dark){.love-text{text-shadow:0 0 24px #fb7185,0 4px 32px #f472b699}}@keyframes love-appear{0%{filter:blur(12px);opacity:0;transform:scale(.88)}60%{filter:blur();opacity:.9;transform:scale(1.02)}to{filter:blur();opacity:1;transform:scale(1)}}@keyframes heart-beat-love{0%,to{transform:scale(1)rotate(-2deg)}25%{transform:scale(1.15)rotate(2deg)}50%{transform:scale(1.05)rotate(-1deg)}75%{transform:scale(1.12)rotate(1deg)}}@keyframes text-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes line-pulse{0%,to{opacity:.4;width:40%}50%{opacity:.8;width:80%}}@keyframes sparkle-float{0%{opacity:.6;transform:translateY(0)rotate(0)scale(.8)}50%{opacity:1;transform:translateY(-30px)rotate(180deg)scale(1.2)}to{opacity:.6;transform:translateY(0)rotate(1turn)scale(.8)}}@keyframes bg-heart-rise{0%{opacity:0;transform:translateY(0)rotate(0)scale(1)}10%{opacity:.5}90%{opacity:.3}to{opacity:0;transform:translateY(-120vh)rotate(2turn)scale(.5)}}@media (prefers-reduced-motion:reduce){.ilove-you-display *,.ilove-you-stage-1 .avatar-col,.ilove-you-stage-2 .home-center,.ilove-you-stage-3 .days-display,.ilove-you-stage-3 .hms-row,.ilove-you-stage-3 .home-cta{animation:none!important}.avatar-frame:before,.bridge-heart,.home-orb-1,.home-orb-2,.home-orb-3{animation:none}.home-cta{transition:none}.floating-heart-fullscreen{display:none}.anniversary *,.secret-mode *{animation:none!important}}@media (max-width:767px){.konami-indicator{gap:3px;margin-bottom:10px}.konami-key{min-width:18px;height:18px;padding:0 3px;font-size:8px}.ilove-you-indicator{gap:5px;margin-bottom:10px;padding:6px 12px;font-size:12px}.ilove-you-char{width:10px}}@media (max-width:480px){.konami-indicator{flex-wrap:wrap;justify-content:center;gap:2px;max-width:90vw;margin-bottom:8px}.konami-key{min-width:16px;height:16px;font-size:7px}.ilove-you-indicator{border-radius:20px;max-width:90vw;padding:5px 10px;font-size:11px}.ilove-you-text{font-size:11px}.ilove-you-char{width:9px}.love-heart-big{margin-bottom:28px}}@media (max-width:360px){.ilove-you-indicator{flex-wrap:wrap;justify-content:center;gap:4px}.ilove-you-text{text-align:center;width:100%;margin-right:0}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e5e5;--code-bg:#f4f3ec;--accent:#f5f5f5;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px,#0000000d 0 4px 6px -2px;--sans:var(--font-geist-sans),system-ui,sans-serif;--heading:var(--font-geist-sans),system-ui,sans-serif;--mono:ui-monospace,Consolas,monospace;--background:#fff;--foreground:#171717;--card:#fff;--card-foreground:#171717;--popover:#fff;--popover-foreground:#171717;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent-foreground:#171717;--destructive:#ef4444;--input:#e5e5e5;--ring:#a3a3a3;--chart-1:#d4d4d4;--chart-2:#a3a3a3;--chart-3:#737373;--chart-4:#525252;--chart-5:#404040;--radius:.625rem;--sidebar:#fafafa;--sidebar-foreground:#171717;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a3a3a3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:18px/145% var(--sans);letter-spacing:.18px}@supports (color:lab(0% 0 0)){:root{--border:lab(90.952% 0 -.0000119209);--accent:lab(96.52% -.0000298023 .0000119209)}}*{box-sizing:border-box}html{font-family:var(--sans);min-height:100%}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}#__next{min-height:100vh}.font-serif-cn{font-family:var(--font-serif-cn),serif}.font-handwritten-cn{font-family:var(--font-handwritten-cn),cursive}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
