/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--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-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-300:lab(85.1236% -.612259 -3.7138);--spacing:.25rem;--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.w-240{width:calc(var(--spacing) * 240)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:var(--color-gray-300)}.py-10{padding-block:calc(var(--spacing) * 10)}.text-center{text-align:center}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media (min-width:40rem){.sm\:mb-1{margin-bottom:calc(var(--spacing) * 1)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:text-left{text-align:left}}@media (min-width:64rem){.lg\:w-full{width:100%}}}:root{--paper:#fff5f1;--muted:#8e7c82;--line:#ffd5dc47;--pink:#ff9db5;--gold:#f4c87b}*{box-sizing:border-box}html,body{min-height:100%;color:var(--paper);background:#050505;margin:0}body{font-family:var(--font-geist-sans), Arial, sans-serif}button{font:inherit}.experience{isolation:isolate;background:radial-gradient(circle at 51% 42%,#ff526826,#0000 31%),radial-gradient(at 50% 68%,#ffeee809,#0000 38%),linear-gradient(145deg,#020202 0%,#080304 48%,#020202 100%);min-height:100svh;transition:background 1.2s;position:relative;overflow:hidden}.experience:after{content:"";z-index:-1;background:conic-gradient(from 115deg at 50% 50%, transparent 0 18%, #ffa0b008 23%, transparent 29% 65%, #ffefea05 71%, transparent 78%);pointer-events:none;animation:28s linear infinite aura-turn;position:absolute;inset:-24%}.experience:before{content:"";z-index:-1;opacity:.14;pointer-events:none;background-image:radial-gradient(circle at 12% 19%,#ffffff8c 0 .5px,#0000 .8px),radial-gradient(circle at 78% 62%,#fff6 0 .45px,#0000 .75px);background-size:113px 97px,151px 137px;position:absolute;inset:0}.topbar{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:218px;font-family:var(--font-geist-mono), monospace;background:linear-gradient(135deg,#230d14d6,#060506ad);border:1px solid #ffb8c652;border-left:3px solid #ff8ea8;border-radius:3px;flex-direction:column;align-items:stretch;gap:11px;padding:14px 16px 13px;display:flex;position:fixed;top:24px;left:26px;box-shadow:0 16px 46px #0000006b,0 0 32px #ff5e8217,inset 0 1px #ffffff0f}.love-signature{color:#fff8f6;letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:11px;font-size:13px;font-weight:650;display:flex}.love-signature i{color:#ff9eb3;text-shadow:0 0 16px #ff8ca0a6;font-family:Georgia,serif;font-size:20px;font-weight:400;line-height:.8}.love-counter{border-top:1px solid #ffd3db29;grid-template-columns:1fr auto;align-items:end;padding-top:10px;display:grid}.love-counter>span{color:#ffebee9e;letter-spacing:.08em;font-family:Georgia,Times New Roman,serif;font-size:11px}.love-counter strong{color:#fff5f2;letter-spacing:-.03em;text-shadow:0 0 24px #ff6f8f5c;grid-row:span 2;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400;line-height:.78}.love-counter strong small{color:#ff9db5;letter-spacing:0;margin-left:3px;font-size:11px}.love-counter time{color:#ffaabbb8;letter-spacing:.15em;margin-top:7px;font-size:7px}.memory-dock{z-index:6;gap:7px;display:flex;position:fixed;bottom:25px;left:26px}.memory-dock button{color:#fff4f2c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#12080bb8;border:1px solid #ffbecb3d;border-radius:13px;grid-template-columns:auto 1fr;align-items:center;gap:9px;min-width:118px;padding:11px 13px;transition:transform .25s,border-color .25s,color .25s;display:grid;box-shadow:0 12px 34px #00000059,inset 0 1px #ffffff0d}:is(.memory-dock button:hover,.memory-dock button:focus-visible){color:#fff8f6;border-color:#ffb5c794;outline:none;transform:translateY(-2px)}.memory-dock small{color:#ff92ad;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:7px}.memory-dock span{letter-spacing:.08em;font-family:Georgia,Times New Roman,serif;font-size:12px}.memory-backdrop{z-index:19;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:default;background:#00000085;border:0;position:fixed;inset:0}.memory-panel{z-index:20;opacity:0;pointer-events:none;background:linear-gradient(145deg,#18080df7,#050506f7);border:1px solid #ffb5c63d;border-radius:22px;width:min(620px,100vw - 36px);transition:opacity .38s,transform .48s cubic-bezier(.2,.78,.2,1);position:fixed;top:18px;bottom:18px;right:18px;overflow:hidden;transform:translate(34px)scale(.985);box-shadow:-24px 0 80px #0009,0 0 80px #ff5b8417,inset 0 1px #ffffff0f}.memory-panel.is-open{opacity:1;pointer-events:auto;transform:translate(0)scale(1)}.memory-panel__header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:24px 25px 20px;display:flex}.memory-panel__header>div{flex-direction:column;gap:7px;display:flex}.memory-panel__header small{color:#ff9eb58f;font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;font-size:7px}.memory-panel__header strong{letter-spacing:.06em;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:400}.memory-panel__header>button{color:#ffdce4;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:50%;width:36px;height:36px;font-size:22px}.memory-tabs{border-bottom:1px solid #ffffff12;grid-template-columns:repeat(4,1fr);padding:12px 15px;display:grid}.memory-tabs button{color:#ffffff61;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr;gap:2px 8px;padding:11px 10px;display:grid}.memory-tabs button.is-active{color:#fff0f3}.memory-tabs small{color:#e9829e;font-family:var(--font-geist-mono), monospace;grid-row:span 2;align-self:center;font-size:8px}.memory-tabs span{letter-spacing:.08em;font-size:10px}.memory-tabs i{color:#ffa6bb57;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:6px;font-style:normal}.memory-panel__body{height:calc(100% - 158px);padding:27px 25px;overflow:auto}.archive-preview{background:radial-gradient(circle at 30% 25%,#ff577e1f,#0000 42%),#ffffff05;border:1px solid #ffbbc91f;border-radius:18px;flex-direction:column;justify-content:center;gap:22px;min-height:310px;padding:30px;display:flex}.archive-preview p{color:#ffecefad;max-width:390px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:19px;line-height:1.75}.archive-preview>button{color:#ffe7ec;cursor:pointer;background:#ff598117;border:1px solid #ffa5b952;border-radius:999px;align-self:flex-start;padding:11px 17px}.archive-preview time{color:#ffd8e1;letter-spacing:.08em;font-family:Georgia,Times New Roman,serif;font-size:34px}.place-preview-list{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.place-preview-list span{color:#ffeef1;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 14px;font-size:12px;display:flex}.place-preview-list b{color:#d97891;font-family:var(--font-geist-mono), monospace;font-size:8px;font-weight:400}.atlas-view,.photo-view,.letter-view,.calendar-view{flex-direction:column;gap:18px;display:flex}.love-atlas{cursor:default;background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/42px 42px,radial-gradient(circle at 57% 51%,#ff5d8521,#0000 38%),#090708;border:1px solid #ffbbc921;border-radius:19px;height:330px;position:relative;overflow:hidden}.love-atlas.is-picking{cursor:crosshair;box-shadow:inset 0 0 0 1px #ff88a542,0 0 40px #ff58820f}.atlas-landmass{clip-path:polygon(10% 17%,25% 12%,35% 17%,50% 7%,61% 16%,77% 15%,89% 27%,84% 42%,96% 53%,84% 64%,75% 63%,67% 81%,54% 75%,46% 91%,35% 79%,21% 82%,24% 65%,10% 58%,17% 45%,5% 34%);filter:drop-shadow(0 0 24px #ff507a14);opacity:.72;background:radial-gradient(circle at 65% 32%,#ffc5d02e,#0000 18%),linear-gradient(145deg,#81394b42,#29141b29);border:1px solid #ffc1cd33;position:absolute;inset:13% 13% 10% 11%}.atlas-landmass:after{content:"";clip-path:inherit;background:repeating-linear-gradient(32deg,#0000 0 13px,#ffffff07 14px);position:absolute;inset:2px}.atlas-coordinate{color:#ffabbf59;font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;font-size:6px;position:absolute;bottom:13px;right:15px}.atlas-pin{z-index:3;color:#ffb2c4;cursor:pointer;background:0 0;border:0;border-radius:50%;width:24px;height:24px;padding:0;position:absolute;transform:translate(-50%,-50%)}.atlas-pin i,.atlas-new-pin i{background:#ef6488;border:2px solid #ffd8e1;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #ff5d841c,0 0 19px #ff5d84b8}.atlas-pin:after,.atlas-new-pin:after{content:"";border:1px solid #ff87a17a;border-radius:50%;animation:2.4s ease-out infinite pin-pulse;position:absolute;inset:0}.atlas-pin b{color:#ffdce28c;font-family:var(--font-geist-mono), monospace;font-size:6px;font-weight:400;position:absolute;top:-10px;right:-7px}.atlas-pin span{color:#fff0f394;letter-spacing:.05em;opacity:0;background:#080506b3;border-radius:4px;width:max-content;max-width:105px;padding:3px 6px;font-size:8px;transition:opacity .2s,transform .2s;position:absolute;top:21px;left:50%;transform:translate(-50%,2px)}.atlas-pin:hover span,.atlas-pin.is-active span{opacity:1;transform:translate(-50%)}.atlas-pin.is-active i{background:#fff1f4;border-color:#ff6f94;box-shadow:0 0 0 6px #ff5d8424,0 0 25px #ff6f94e6}.atlas-new-pin{z-index:4;pointer-events:none;width:28px;height:28px;position:absolute;transform:translate(-50%,-50%)}.atlas-new-pin i{background:#f4c87b;border-color:#fff0c9;width:10px;height:10px;box-shadow:0 0 0 6px #f4c87b1f,0 0 24px #f4c87bb3}.atlas-route{z-index:2;pointer-events:none;transform-origin:0;background:linear-gradient(90deg,#ff6b8f29,#ffdaabb8,#ff6f9733);height:1px;position:absolute;box-shadow:0 0 8px #ff89a547}.atlas-route:after{content:"";width:5px;height:5px;animation:3.6s linear infinite route-travel;animation-delay:var(--route-delay);background:#fff1ce;border-radius:50%;position:absolute;top:-2px;left:0;box-shadow:0 0 10px #ff88a5}.atlas-summary{justify-content:space-between;align-items:center;gap:15px;display:flex}.atlas-summary>div{grid-template-columns:auto auto;align-items:end;gap:3px 9px;display:grid}.atlas-summary small{color:#ffa0b67a;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;grid-column:span 2;font-size:7px}.atlas-summary strong{color:#fff2f4;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:400;line-height:1}.atlas-summary span{color:#ffe8ec85;font-size:9px}.atlas-summary button,.archive-intro>button,.archive-actions button{color:#ffe6eb;letter-spacing:.07em;cursor:pointer;background:#ff5b8214;border:1px solid #ffa3b84d;border-radius:999px;padding:10px 15px;font-size:10px;transition:border-color .2s,background .2s,transform .2s}.atlas-summary button:hover,.archive-intro>button:hover,.archive-actions button:hover{background:#ff5b8224;border-color:#ffbecd99;transform:translateY(-1px)}.atlas-metrics{grid-template-columns:auto auto 1fr;align-items:center;gap:12px;display:grid}.atlas-metrics>div{background:#ffffff05;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:auto 1fr;align-items:end;gap:2px 7px;min-width:92px;padding:10px 12px;display:grid}.atlas-metrics small{color:#ff9db47a;font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;grid-column:1/-1;font-size:6px}.atlas-metrics strong{color:#fff2f4;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:400;line-height:.9}.atlas-metrics span{color:#ffe8ec7a;font-size:8px}.atlas-metrics>button{color:#ffe6eb;cursor:pointer;background:#ff5b8214;border:1px solid #ffa3b84d;border-radius:999px;justify-self:end;padding:10px 15px;font-size:10px}.atlas-city-list{flex-wrap:wrap;gap:6px;margin-top:-9px;display:flex}.atlas-city-list span{color:#ffeff2a3;background:#ffffff05;border:1px solid #ffffff12;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:8px;display:flex}.atlas-city-list b{color:#dd7793;font-family:var(--font-geist-mono), monospace;font-size:6px;font-weight:400}.place-card{background:#ffffff06;border:1px solid #ffffff17;border-radius:17px;grid-template-columns:150px 1fr;min-height:145px;display:grid;overflow:hidden}.place-card img{object-fit:cover;filter:saturate(.75)contrast(1.07);width:100%;height:100%}.place-card__glow{background:radial-gradient(circle,#ff77973d,#0000 55%),linear-gradient(135deg,#210b12,#090708);place-items:center;display:grid}.place-card__glow span{color:#ffcdd8bd;text-shadow:0 0 20px #ff5d8473;font-family:Georgia,Times New Roman,serif;font-size:38px}.place-card>div:last-child{align-self:center;padding:20px 23px}.place-card time,.milestones time,.photo-grid time{color:#ff98b285;font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;font-size:7px}.place-card h3,.milestones h3{color:#fff1f3;letter-spacing:.04em;margin:7px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:400}.place-card p,.milestones p{color:#ffe8ec85;margin:0;font-size:10px;line-height:1.7}.archive-intro{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:15px;display:flex}.archive-intro>div:not(.archive-actions){flex-direction:column;gap:6px;display:flex}.archive-intro small,.calendar-toolbar small,.form-heading>span{color:#ff9cb47a;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:7px}.archive-intro strong,.calendar-toolbar strong,.form-heading strong{color:#fff1f3;letter-spacing:.04em;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:400}.archive-intro p,.form-heading p{color:#ffe4e975;margin:0;font-size:9px;line-height:1.6}.archive-actions{flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.archive-actions button{white-space:nowrap;padding:9px 12px}.archive-actions button.is-active{color:#ffe9b6;background:#cf87261f;border-color:#ffce776b}.album-shelf{scrollbar-width:thin;gap:7px;padding:2px 0 7px;display:flex;overflow-x:auto}.album-shelf button{color:#ffecf08a;cursor:pointer;background:#ffffff05;border:1px solid #ffffff17;border-radius:10px;flex:none;align-items:center;gap:8px;padding:8px 11px;display:flex}.album-shelf button.is-active{color:#fff4f5;background:#ff5a821a;border-color:#ff92ae6b}.album-shelf b{text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-size:9px;font-weight:500;overflow:hidden}.album-shelf span{color:#ffcdd8b3;min-width:18px;height:18px;font-family:var(--font-geist-mono), monospace;background:#ffffff0f;border-radius:50%;place-items:center;font-size:6px;display:grid}.album-shelf .album-add{color:#f4bdca;border-style:dashed}.photo-manager-bar{background:radial-gradient(circle at 14% 20%,#ffa45f17,#0000 56%),#ffffff05;border:1px solid #ffbe9d2b;border-radius:14px;grid-template-columns:1fr minmax(150px,190px);align-items:center;gap:20px;padding:15px 17px;display:grid}.photo-manager-bar>div{flex-direction:column;gap:4px;display:flex}.photo-manager-bar small{color:#ffc17f85;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:6px}.photo-manager-bar strong{color:#fff1e7;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:400}.photo-manager-bar p{color:#ffe7db75;margin:0;font-size:8px}.photo-manager-bar label{color:#ffd6bf8c;flex-direction:column;gap:5px;font-size:7px;display:flex}.photo-manager-bar input{color:#fff4ec;background:#060404a3;border:1px solid #ffcba82b;border-radius:9px;outline:none;width:100%;height:37px;padding:0 10px}.delete-album{color:#ff9fb1a8;cursor:pointer;background:#7d182c14;border:1px solid #ff69802e;border-radius:8px;align-self:flex-start;padding:7px 10px;font-size:8px}.firework-photo-manager{background:radial-gradient(circle at 14% 20%,#ffa45f17,#0000 56%),#ffffff05;border:1px solid #ffbe9d2b;border-radius:14px;grid-template-columns:1fr minmax(150px,190px);align-items:center;gap:20px;padding:15px 17px;display:grid}.firework-photo-manager>div{flex-direction:column;gap:4px;display:flex}.firework-photo-manager small{color:#ffc17f85;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:6px}.firework-photo-manager strong{color:#fff1e7;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:400}.firework-photo-manager p{color:#ffe7db75;margin:0;font-size:8px}.firework-photo-manager label{color:#ffd6bf8c;letter-spacing:.08em;flex-direction:column;gap:5px;font-size:7px;display:flex}.firework-photo-manager input{color:#fff4ec;background:#060404a3;border:1px solid #ffcba82b;border-radius:9px;outline:none;width:100%;height:37px;padding:0 10px;font-size:10px}.firework-photo-manager input:focus{border-color:#ffc08f75;box-shadow:0 0 0 3px #ffb1770d}.empty-photo{text-align:center;background:radial-gradient(circle,#ff5f8714,#0000 43%);border:1px dashed #ffb1c42b;border-radius:18px;align-content:center;place-items:center;gap:11px;min-height:330px;display:grid}.empty-photo i{color:#ff9eb5;border:1px solid #ffa4b945;border-radius:50%;place-items:center;width:50px;height:50px;font-size:24px;font-style:normal;display:grid;box-shadow:0 0 28px #ff517d1a}.empty-photo span{color:#ffbecd99;font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;font-size:7px}.empty-photo p{color:#ffe5ea70;margin:0;font-size:10px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.photo-grid>article{background:#090708;border:1px solid #ffffff17;border-radius:14px;min-height:190px;position:relative;overflow:hidden}.photo-grid>article.is-large{grid-row:span 2;min-height:390px}.photo-open{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.photo-grid>button{cursor:zoom-in;background:#090708;border:1px solid #ffffff17;border-radius:14px;min-height:190px;padding:0;position:relative;overflow:hidden}.photo-grid>button.is-large{grid-row:span 2;min-height:390px}.photo-grid>button:disabled{opacity:.65;cursor:wait}.photo-grid.is-managing>button{cursor:pointer}.photo-grid.is-managing>button:after{content:"";z-index:3;border-radius:inherit;border:1px solid #ffffff0a;transition:border-color .2s,box-shadow .2s;position:absolute;inset:0}.photo-grid.is-managing>button.is-in-fireworks:after{border-color:#ffc97dbf;box-shadow:inset 0 0 0 2px #ffb85d14,0 0 24px #ff8d541f}.photo-grid img{object-fit:cover;width:100%;height:100%;transition:transform .55s,filter .55s;position:absolute;inset:0}.photo-grid button:hover img{filter:brightness(.82);transform:scale(1.035)}.photo-grid button>span{color:#fff;text-align:left;background:linear-gradient(#0000,#040303d1);flex-direction:column;align-items:flex-start;gap:4px;padding:30px 13px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-grid button b{letter-spacing:.03em;font-family:Georgia,Times New Roman,serif;font-size:13px;font-weight:400}.photo-firework-state{z-index:4;color:#ffefe9b8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;background:#080505b3;border:1px solid #ffffff2b;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;font-size:6px;font-style:normal;display:flex;position:absolute;top:9px;right:9px;box-shadow:0 5px 18px #00000040}.photo-firework-state i{background:0 0;border:1px solid #ffffff6b;border-radius:50%;width:6px;height:6px}.is-in-fireworks .photo-firework-state{color:#ffe5b0;background:#2b190ab8;border-color:#ffce8452}.is-in-fireworks .photo-firework-state i{background:#ffc664;border-color:#ffe0a0;box-shadow:0 0 9px #ffba53cc}.photo-firework-toggle{z-index:4;color:#ffefe9b8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);cursor:pointer;background:#080505c7;border:1px solid #ffffff2b;border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:7px;display:flex;position:absolute;top:9px;right:9px}.photo-firework-toggle i{border:1px solid #ffffff6b;border-radius:50%;width:6px;height:6px}.is-in-fireworks .photo-firework-toggle{color:#ffe5b0;background:#2b190ac7;border-color:#ffce8452}.is-in-fireworks .photo-firework-toggle i{background:#ffc664;border-color:#ffe0a0;box-shadow:0 0 9px #ffba53cc}.photo-organize-tools{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070506e0;border:1px solid #ffffff1f;border-radius:9px;grid-template-columns:1fr auto auto auto;gap:4px;padding:6px;display:grid;position:absolute;bottom:7px;left:7px;right:7px}.photo-organize-tools select,.photo-organize-tools button{color:#fff1f4b8;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;min-width:0;height:28px;font-size:7px}.photo-organize-tools select{padding:0 6px}.photo-organize-tools button{cursor:pointer;width:28px}.photo-organize-tools button.is-danger{color:#ff9ab0;width:auto;padding:0 7px}.memory-form{background:#ffffff06;border:1px solid #ffabbf29;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px;display:grid}.form-heading{flex-direction:column;grid-column:1/-1;gap:6px;padding-bottom:4px;display:flex}.memory-form label{color:#ffdfe68f;letter-spacing:.08em;flex-direction:column;gap:7px;min-width:0;font-size:8px;display:flex}.memory-form input,.memory-form textarea,.memory-form select{color:#fff1f3;letter-spacing:0;background:#05050599;border:1px solid #ffffff1c;border-radius:9px;outline:none;width:100%;font-size:11px;transition:border-color .2s,box-shadow .2s}.memory-form input{height:41px;padding:0 11px}.memory-form select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:41px;padding:0 10px}.memory-form textarea{resize:vertical;min-height:72px;padding:11px;line-height:1.55}.memory-form input:focus,.memory-form textarea:focus{border-color:#ff8fa97a;box-shadow:0 0 0 3px #ff5b820f}.memory-form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.form-wide{grid-column:1/-1}.file-field{cursor:pointer;background:#ffffff04;border:1px dashed #ffacc030;border-radius:11px;justify-content:center;min-height:76px;padding:12px 14px;position:relative}.file-field input{opacity:0;cursor:pointer;height:100%;position:absolute;inset:0}.file-field b{color:#ffecefb3;letter-spacing:.03em;font-size:10px;font-weight:400}.form-check{align-items:center;flex-direction:row!important}.form-check input{accent-color:#db6c8b;width:15px;height:15px}.form-actions{justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.form-actions button{color:#fff4f6b3;cursor:pointer;background:#ffffff06;border:1px solid #ffffff1c;border-radius:9px;min-width:90px;padding:10px 14px}.form-actions button.is-primary{color:#fff2f4;background:linear-gradient(135deg,#a934547a,#5b182c73);border-color:#ff9cb457}.form-actions button:disabled{opacity:.45;cursor:wait}.archive-status{color:#ffb5c6a6;text-align:center;opacity:0;min-height:15px;margin:3px 0 0;font-size:9px}.archive-status.is-visible{opacity:1}.calendar-toolbar{justify-content:space-between;align-items:flex-end;display:flex}.calendar-toolbar>div:first-child{flex-direction:column;gap:5px;display:flex}.calendar-toolbar>div:last-child{gap:5px;display:flex}.calendar-toolbar button{color:#ffeef2b8;cursor:pointer;background:#ffffff06;border:1px solid #ffffff1a;border-radius:8px;width:32px;height:32px}.next-anniversary{background:radial-gradient(circle at 85% 20%,#ff668d29,#0000 48%),#ffffff05;border:1px solid #ffb2c526;border-radius:16px;grid-template-columns:1fr auto;gap:4px 12px;padding:18px 20px;display:grid}.next-anniversary small{color:#ffa4b980;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:6px}.next-anniversary>span{color:#ffe9ed75;font-size:8px}.next-anniversary strong{color:#fff3f5;grid-area:1/2/4;align-self:center;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400}.next-anniversary b{color:#ffe8ed;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:400}.next-anniversary time{color:#ff9cb485;font-family:var(--font-geist-mono), monospace;font-size:7px}.love-calendar{background:#ffffff04;border:1px solid #ffffff17;border-radius:15px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-week{color:#ff9eb578;font-family:var(--font-geist-mono), monospace;text-align:center;padding:9px 4px;font-size:7px}.calendar-day{border-top:1px solid #ffffff0f;border-right:1px solid #ffffff0f;min-height:58px;padding:8px 6px;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day>b{color:#ffffff75;font-family:var(--font-geist-mono), monospace;font-size:8px;font-weight:400}.calendar-day.has-event{background:radial-gradient(circle at 25% 20%,#ff5d8424,#0000 68%)}.calendar-day.has-event>b{color:#ffdbe3}.calendar-day>i{color:#ffd9e1ad;text-overflow:ellipsis;white-space:nowrap;background:#ff648a0f;border-left:2px solid #da718d;margin-top:5px;padding:3px 4px;font-size:6px;font-style:normal;display:block;overflow:hidden}.anniversary-list{flex-direction:column;gap:14px;margin-top:7px;display:flex}.milestones{flex-direction:column;display:flex}.milestones article{border-bottom:1px solid #ffffff13;grid-template-columns:38px 1fr;gap:12px;padding:15px 4px;display:grid}.milestones article>span{color:#e77c99;width:31px;height:31px;font-family:var(--font-geist-mono), monospace;border:1px solid #ff99b238;border-radius:50%;place-items:center;font-size:7px;display:grid}.milestones h3{margin:5px 0 3px;font-size:16px}.milestone-reminder{align-items:center;gap:8px;margin-top:9px;display:flex}.milestone-reminder b{color:#ffc4d1;font-size:8px;font-weight:500}.milestone-reminder span{color:#ffe5ea6b;font-size:7px}.milestone-reminder button{color:#ffe2e8b3;cursor:pointer;background:#ffffff06;border:1px solid #ffa6bb2e;border-radius:7px;margin-left:auto;padding:6px 9px;font-size:7px}.letter-compose{font-family:Georgia,Times New Roman,serif;min-height:170px!important;font-size:14px!important;line-height:1.8!important}.letter-empty{text-align:center;background:radial-gradient(circle,#ff5f8717,#0000 45%);border:1px dashed #ffb1c429;border-radius:18px;align-content:center;place-items:center;gap:10px;min-height:330px;display:grid}.letter-empty>span{color:#ffadc0;text-shadow:0 0 22px #ff648b8c;font-size:31px}.letter-empty strong{color:#ffeef1;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:400}.letter-empty p{color:#ffe5ea73;margin:0;font-size:9px}.letter-grid{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.letter-grid article{background:linear-gradient(150deg,#42162440,#ffffff05);border:1px solid #ffabc021;border-radius:16px;min-height:215px;padding:19px;position:relative;overflow:hidden}.letter-grid article:after{content:"";border:1px solid #ff88a61c;border-radius:50%;width:100px;height:100px;position:absolute;top:-28px;right:-28px;box-shadow:0 0 45px #ff588214}.letter-seal{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.letter-seal span{color:#ffabc175;font-family:var(--font-geist-mono), monospace;letter-spacing:.19em;font-size:6px}.letter-seal b{color:#df7c96;width:27px;height:27px;font-family:var(--font-geist-mono), monospace;border:1px solid #ff9db538;border-radius:50%;place-items:center;font-size:6px;font-weight:400;display:grid}.letter-grid time{color:#ff9bb485;font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;font-size:7px}.letter-grid h3{color:#fff0f3;margin:8px 0 13px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:400}.letter-grid article>p{color:#ffedf0ab;white-space:pre-wrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1.85}.letter-lock{border-top:1px solid #ffffff12;grid-template-columns:30px 1fr;align-items:center;gap:2px 9px;padding-top:8px;display:grid}.letter-lock i{color:#e88aa1;border:1px solid #ffa1b830;border-radius:50%;grid-row:span 2;place-items:center;width:28px;height:28px;font-style:normal;display:grid}.letter-lock strong{color:#ffe4eab3;font-size:9px;font-weight:500}.letter-lock span{color:#ffdde45c;font-size:7px}.letter-grid article.is-unlocked{background:radial-gradient(circle at 85% 8%,#ffbb751f,#0000 42%),#ffffff05;border-color:#ffc7973b}.photo-lightbox{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000000e6;place-items:center;padding:6vh 7vw;display:grid;position:fixed;inset:0}.photo-lightbox>button{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:50%;width:38px;height:38px;font-size:22px;position:absolute;top:22px;right:24px}.photo-lightbox img{border-radius:8px;max-width:100%;max-height:78vh;box-shadow:0 30px 90px #000000b3}.photo-lightbox>div{color:#fff3f5;justify-content:space-between;font-family:Georgia,Times New Roman,serif;display:flex;position:absolute;bottom:3vh;left:7vw;right:7vw}.photo-lightbox time{color:#ffced88c;font-family:var(--font-geist-mono), monospace;font-size:8px}@keyframes pin-pulse{0%{opacity:.7;transform:scale(.45)}85%,to{opacity:0;transform:scale(1.6)}}@keyframes route-travel{0%{opacity:0;left:0}12%{opacity:1}88%{opacity:1}to{opacity:0;left:100%}}.scene-shell{isolation:isolate;filter:drop-shadow(0 22px 60px #0000008c);width:min(74vw,880px);height:min(82svh,880px);transition:filter .8s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.firework-memories{z-index:1;opacity:0;pointer-events:none;perspective:1280px;transform-style:preserve-3d;transition:opacity .7s,transform 1.35s cubic-bezier(.18,.8,.2,1);position:absolute;inset:-5%;transform:scale(.94)}.mode-fireworks .firework-memories{opacity:1;transform:scale(1)}.firework-memory-space{--memory-yaw:0deg;--memory-pitch:0deg;--memory-shift-x:0px;--memory-shift-y:0px;--memory-depth:0px;transform:translate3d(var(--memory-shift-x), var(--memory-shift-y), var(--memory-depth)) rotateX(var(--memory-pitch)) rotateY(var(--memory-yaw));transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.firework-memory-orbit{top:var(--memory-y);left:var(--memory-x);width:min(var(--memory-width), 23vw);opacity:0;filter:blur(7px)brightness(.55);transform:translate(-50%, -50%) translate3d(0, 34px, -330px) rotateY(var(--memory-ry)) rotateZ(var(--memory-r)) scale(.45);transform-style:preserve-3d;transition:opacity .72s ease var(--memory-delay), filter 1.15s ease var(--memory-delay), transform 1.4s cubic-bezier(.16,.82,.18,1) var(--memory-delay);will-change:transform, opacity, filter;margin:0;position:absolute}.mode-fireworks .firework-memory-orbit{opacity:.94;filter:blur()brightness();transform:translate(-50%, -50%) translateZ(var(--memory-z)) rotateY(var(--memory-ry)) rotateZ(var(--memory-r)) scale(1)}.firework-memory-card{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);transform-style:preserve-3d;animation:5.6s ease-in-out infinite memory-float;animation-delay:var(--memory-delay);background:linear-gradient(145deg,#fff8f133,#4b28311f);border:1px solid #ffe1d38f;border-radius:10px;margin:0;padding:5px 5px 0;position:relative;overflow:hidden;box-shadow:0 18px 38px #0009,0 0 24px #ffa1b81f,inset 0 1px #ffffff61}.firework-memory-card:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#ffffff7a,#0000);width:25%;position:absolute;top:-28%;bottom:-28%;left:-42%;transform:rotate(14deg)}.mode-fireworks .firework-memory-card:after{animation:5.4s ease-in-out infinite memory-glint;animation-delay:calc(var(--memory-delay) + .8s)}.firework-memory-frame{aspect-ratio:var(--memory-aspect);background:#090707;border-radius:6px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.firework-memory-frame:after{content:"";pointer-events:none;background:linear-gradient(155deg,#ffffff29,#0000 22% 72%,#ff769914);position:absolute;inset:0;box-shadow:inset 0 -22px 32px #0c030629}.firework-memory-frame img{object-fit:cover;object-position:var(--memory-position);filter:saturate(.88)contrast(1.04)brightness(.9);width:100%;height:100%;display:block;transform:scale(1.015)}.firework-memory-card figcaption{color:#ffefeb9e;height:24px;font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;justify-content:space-between;align-items:center;padding:0 4px;font-size:5px;display:flex}.firework-memory-card figcaption b{color:#ffd3bbeb;font-size:7px;font-weight:500}.webgl-stage{z-index:2;cursor:grab;touch-action:none;width:100%;height:100%;position:relative}.webgl-stage:active{cursor:grabbing}.webgl-stage canvas{width:100%;height:100%;display:block}.edge-label{z-index:3;color:#e1e2e05c;font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;pointer-events:none;font-size:8px;position:absolute}.edge-label--top{writing-mode:vertical-rl;top:7%;right:3%}.edge-label--bottom{color:#fff4f2eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:0;background:#12080bb8;border:1px solid #ffbecb47;border-radius:999px;align-items:center;gap:10px;padding:9px 12px 9px 9px;display:flex;bottom:3%;right:1%;box-shadow:0 9px 28px #00000061,0 0 18px #ff638514}.edge-label--bottom b{color:#ffadc0;background:#ff8ba31f;border-radius:50%;place-items:center;width:27px;height:27px;font-size:16px;font-weight:400;display:grid;box-shadow:inset 0 0 0 1px #ffb3c433}.edge-label--bottom span{flex-direction:column;gap:2px;display:flex}.edge-label--bottom strong{font-family:var(--font-geist-sans), sans-serif;letter-spacing:.14em;font-size:10px;font-weight:550}.edge-label--bottom small{color:#ffc2cf85;letter-spacing:.18em;font-size:6px}.gesture-trigger{z-index:4;color:#fff8f6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:linear-gradient(135deg,#4e1728eb,#14080de0);border:1px solid #ffb1c26b;border-radius:17px;align-items:center;gap:13px;min-width:246px;min-height:64px;padding:10px 12px 10px 15px;transition:transform .25s,border-color .25s,color .25s,background .25s,box-shadow .25s;display:flex;position:fixed;bottom:26px;right:28px;box-shadow:0 16px 46px #0000007a,0 0 34px #ff537e24,inset 0 1px #ffffff17}:is(.gesture-trigger:hover,.gesture-trigger:focus-visible){color:#fff;border-color:#ffcfd8c7;outline:none;transform:translateY(-2px);box-shadow:0 19px 54px #00000085,0 0 42px #ff537e38}.gesture-trigger.is-active{color:#fff3f5;background:linear-gradient(135deg,#6f1f38f0,#230b14e6);border-color:#ffbfcdb8}.gesture-trigger.has-error{border-color:#ff829b9e}.camera-glyph{border:1px solid #ffffffd1;border-radius:4px;flex:none;width:24px;height:19px;position:relative;box-shadow:0 0 14px #ff97ad1f}.camera-glyph:before{content:"";border:1px solid #ff9eb6;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:7px;box-shadow:0 0 10px #ff829f59}.camera-glyph:after{content:"";border:1px solid #ffffffbf;border-bottom:0;border-radius:3px 3px 0 0;width:10px;height:5px;position:absolute;top:-5px;left:6px}.trigger-copy{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.trigger-copy strong{letter-spacing:.13em;font-size:12px;font-weight:560}.trigger-copy small{color:#ffc4d094;max-width:158px;font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-overflow:ellipsis;white-space:nowrap;font-size:6px;overflow:hidden}.trigger-arrow{color:#ffd3dc;border:1px solid #ffd5dd38;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.status-dot{z-index:3;color:#ffffff5e;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;align-items:center;gap:8px;font-size:8px;display:flex;position:fixed;top:27px;right:28px}.status-dot b{background:#79817e;border-radius:50%;width:5px;height:5px;box-shadow:0 0 9px #79817e}.gesture-guide{z-index:4;opacity:0;pointer-events:none;flex-direction:column;gap:5px;transition:opacity .35s,transform .35s;display:flex;position:fixed;top:50%;left:26px;transform:translate(-12px,-50%)}.gesture-guide.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)}.gesture-guide button{color:#ffffff5e;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px 1fr;align-items:center;gap:5px;width:88px;padding:7px 6px;transition:color .2s;display:grid}.gesture-guide button:hover,.gesture-guide button.is-active{color:#f4c3ce}.gesture-guide b{width:24px;height:24px;font-family:var(--font-geist-mono), monospace;border:1px solid;border-radius:50%;place-items:center;font-size:9px;font-weight:500;display:grid}.gesture-guide span{letter-spacing:.12em;white-space:nowrap;font-size:8px}.camera-card{z-index:5;aspect-ratio:4/3;opacity:1;background:#0a0a0a;border:1px solid #ffbbcb47;width:174px;transition:opacity .3s,transform .3s;position:fixed;bottom:87px;right:28px;overflow:hidden;transform:translateY(0);box-shadow:0 18px 58px #00000085,0 0 28px #d9466d1a}.camera-card.is-hidden{opacity:0;pointer-events:none;transform:translateY(10px)}.camera-card video,.camera-card canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.camera-card video{opacity:.44;filter:saturate(.25)contrast(1.18)}.camera-card canvas{z-index:2}.camera-card>span{z-index:4;color:#ffdbe3;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:7px;position:absolute;top:8px;left:9px}.camera-card>span:before{content:"";vertical-align:1px;background:#f08ca4;border-radius:50%;width:4px;height:4px;margin-right:5px;display:inline-block;box-shadow:0 0 8px #f08ca4}.camera-scan{z-index:3;background:linear-gradient(90deg,#0000,#ffa9bdbf,#0000);height:1px;animation:2.8s ease-in-out infinite scan;position:absolute;left:0;right:0;box-shadow:0 0 10px #ff809e73}.mode-heart .scene-shell{filter:drop-shadow(0 0 42px #e8678733)}.mode-bud{background:radial-gradient(circle at 50% 45%,#cd235d47,#0000 28%),radial-gradient(circle at 50% 48%,#f4c87b14,#0000 46%),linear-gradient(145deg,#070204,#100308 48%,#030303)}.mode-bud .scene-shell{filter:drop-shadow(0 0 54px #f45d8940)drop-shadow(0 0 90px #f4c87b14)}.mode-bloom{background:radial-gradient(at 50% 46%,#80304236,#0000 40%),linear-gradient(90deg,#ee98ab06,#0000 35% 65%,#ee98ab06),#050505}.mode-bloom .scene-shell{filter:drop-shadow(0 0 46px #f1a2b33d)}.mode-bloom .edge-label--bottom{color:#f0acbb94}.mode-fireworks{background:radial-gradient(circle at 37% 31%,#ff457c2b,#0000 24%),radial-gradient(circle at 68% 27%,#ffbe4a21,#0000 26%),radial-gradient(circle at 51% 62%,#578fff1a,#0000 34%),linear-gradient(#030208,#090307 58%,#020203)}.mode-fireworks:after{opacity:.78;animation-duration:17s}.mode-fireworks .scene-shell{filter:drop-shadow(0 0 52px #ff849c40)drop-shadow(0 0 96px #ffc75c1a)}.mode-fireworks .edge-label--bottom{color:#ffcf7ea3}@keyframes memory-float{0%,to{transform:translate(0)rotateX(0)rotateY(0)}45%{transform:translate3d(0,-9px,18px)rotateX(1.2deg)rotateY(-1.4deg)}72%{transform:translate3d(1px,-3px,7px)rotateX(-.7deg)rotateY(.8deg)}}@keyframes memory-glint{0%,64%{opacity:0;left:-42%}70%{opacity:.6}84%{opacity:0;left:122%}to{opacity:0;left:122%}}@keyframes scan{0%,to{opacity:.35;top:17%}50%{opacity:1;top:84%}}@keyframes aura-turn{to{transform:rotate(360deg)}}@media (max-width:720px){.topbar{gap:8px;width:178px;padding:11px 12px 10px;top:16px;left:16px}.love-signature{gap:8px;font-size:11px}.love-signature i{font-size:17px}.love-counter{padding-top:8px}.love-counter>span{font-size:9px}.love-counter strong{font-size:27px}.love-counter time{margin-top:5px;font-size:6px}.status-dot{text-align:right;justify-content:flex-end;max-width:145px;line-height:1.45;top:19px;right:16px}.scene-shell{width:108vw;height:72svh;top:43%}.firework-memories{inset:-1% 1%}.firework-memory-orbit{width:min(var(--memory-width), 22vw)}.firework-memory-orbit:first-child{--memory-x:12%!important}.firework-memory-orbit:nth-child(2){--memory-x:86%!important}.firework-memory-orbit:nth-child(3){--memory-x:88%!important}.firework-memory-orbit:nth-child(5){--memory-x:84%!important;--memory-y:78%!important}.firework-memory-orbit:nth-child(6){--memory-x:16%!important;--memory-y:80%!important}.firework-memory-orbit:nth-child(8){--memory-y:87%!important}.firework-memory-orbit:nth-child(9){--memory-x:11%!important}.firework-memory-card{border-radius:7px;padding:3px 3px 0}.firework-memory-frame{border-radius:4px}.firework-memory-card figcaption{height:17px;padding:0 2px}.firework-memory-card figcaption span{display:none}.gesture-trigger{min-width:0;min-height:62px;bottom:18px;left:16px;right:16px}.edge-label--bottom{transform-origin:100% 100%;bottom:4%;right:7%;transform:scale(.9)}.gesture-guide{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070707c2;border:1px solid #ffffff1a;flex-direction:row;justify-content:center;gap:0;padding:6px;inset:auto 13px 87px;transform:translateY(8px)}.gesture-guide.is-visible{transform:translateY(0)}.gesture-guide button{text-align:center;grid-template-columns:1fr;justify-items:center;gap:4px;width:auto;min-width:68px}.gesture-guide span{font-size:7px}.camera-card{width:118px;bottom:160px;right:18px}.gesture-guide.is-visible~.gesture-trigger{bottom:18px}.memory-dock{justify-content:center;gap:4px;bottom:91px;left:16px;right:16px}.memory-dock button{flex:1;justify-content:center;gap:5px;min-width:0;padding:9px 7px}.memory-dock small{display:none}.memory-dock span{font-size:10px}.memory-panel{border-radius:18px;width:calc(100vw - 16px);top:8px;bottom:8px;right:8px}.memory-panel__header{padding:19px 18px 15px}.memory-panel__header strong{font-size:23px}.memory-tabs{padding:8px}.memory-tabs button{justify-content:center;padding:10px 4px;display:flex}.memory-tabs small,.memory-tabs i{display:none}.memory-tabs span{font-size:9px}.memory-panel__body{height:calc(100% - 137px);padding:18px 14px}.archive-preview{min-height:270px;padding:22px}.love-atlas{height:270px}.atlas-pin span{font-size:7px}.atlas-metrics{grid-template-columns:1fr 1fr}.atlas-metrics>button{grid-column:1/-1;justify-self:stretch}.place-card{grid-template-columns:105px 1fr;min-height:120px}.place-card>div:last-child{padding:14px 15px}.place-card h3{font-size:17px}.archive-intro{align-items:flex-start}.archive-intro strong{font-size:17px}.archive-intro>button,.archive-actions button{flex:none;padding:8px 9px;font-size:8px}.archive-actions{flex-direction:column;align-items:stretch}.firework-photo-manager,.photo-manager-bar{grid-template-columns:1fr;gap:12px;padding:13px}.memory-form{grid-template-columns:1fr;padding:14px}.memory-form>*,.form-heading,.form-wide{grid-column:1}.photo-grid>button{min-height:155px}.photo-grid>button.is-large{min-height:320px}.photo-grid>article{min-height:155px}.photo-grid>article.is-large{min-height:320px}.photo-organize-tools{grid-template-columns:1fr auto auto}.photo-organize-tools button.is-danger{grid-column:1/-1;width:100%}.letter-grid{grid-template-columns:1fr}.next-anniversary strong{font-size:23px}.calendar-day{min-height:49px;padding:6px 4px}.calendar-day>i{max-width:44px;font-size:5px}.photo-lightbox{padding:5vh 12px}}@media (prefers-reduced-motion:reduce){.webgl-stage{cursor:default}.experience:after,.firework-memory-card,.mode-fireworks .firework-memory-card:after{animation:none}.firework-memory-orbit{transition-duration:.01ms}}@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-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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
