@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#f7f1ea;--paper:#fffdf8f7;--paper-strong:#fffdf8;--ink:#342923;--muted:#8b7b72;--pink:#c88d92;--pink-deep:#9f6065;--blush:#ecd9d7;--peach:#dec4b2;--line:#4b362d29;--shadow:0 28px 58px #49332b24, 0 4px 12px #49332b14;--soft-shadow:0 16px 34px #49332b1c, 0 2px 5px #49332b14;--serif:Georgia, "Times New Roman", "Songti SC", serif;--sans:"PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);font-family:var(--sans);background:radial-gradient(circle at 18% 14%,#dab7b438,#0000 28rem),radial-gradient(circle at 84% 88%,#d2b39d30,#0000 30rem),linear-gradient(#faf6f0 0%,#f5eee7 100%);margin:0;overflow-x:hidden}button,input,textarea{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.moments-app{min-height:100vh}.ambient{filter:blur(110px);pointer-events:none;opacity:.24;z-index:0;border-radius:50%;position:fixed}.ambient-a{background:#d9b1b2;width:32rem;height:32rem;top:22vh;left:-12rem}.ambient-b{background:#d8b59d;width:28rem;height:28rem;bottom:0;right:-10rem}.topbar{z-index:30;-webkit-backdrop-filter:blur(22px)saturate(.85);backdrop-filter:blur(22px)saturate(.85);background:#faf6f0e6;border-bottom:1px solid #4b362d1a;grid-template-columns:1fr auto 1fr;align-items:center;height:78px;padding:0 clamp(18px,4vw,56px);display:grid;position:sticky;top:0}.brand{cursor:pointer;background:0 0;border:0;justify-self:start;align-items:baseline;gap:7px;display:inline-flex}.brand-ca{font-family:var(--serif);color:var(--pink-deep);letter-spacing:-.04em;font-size:29px;font-weight:600}.brand-moments{font-family:var(--serif);letter-spacing:-.02em;font-size:22px}.together{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);justify-self:center;font-size:11px}.topbar-actions{justify-self:end;align-items:center;gap:8px;display:flex}.space-status-button{min-width:162px;color:var(--ink);cursor:pointer;background:#fffdf8bd;border:1px solid #533d331f;border-radius:999px;align-items:center;gap:9px;padding:6px 11px 6px 7px;transition:transform .25s,background .25s,box-shadow .25s;display:flex}.space-status-button:hover{background:var(--paper-strong);box-shadow:var(--soft-shadow);transform:translateY(-1px)}.space-avatars{width:47px;height:30px;display:flex;position:relative}.space-avatars i{border:2px solid var(--paper-strong);color:#fffaf2;background:var(--pink-deep);width:30px;height:30px;font:normal 600 11px var(--serif);border-radius:50%;place-items:center;display:grid;position:absolute;top:0}.space-avatars i:last-child{background:#92766a;left:18px}.space-status-copy{text-align:left;gap:1px;display:grid}.space-status-copy small{color:var(--pink-deep);letter-spacing:.13em;font-size:7px}.space-status-copy strong{max-width:110px;font:600 10px var(--serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fffdf8b8;border-radius:50%;place-items:center;width:42px;height:42px;transition:all .25s;display:grid}.icon-button:hover{box-shadow:var(--soft-shadow);background:#fff;transform:translateY(-2px)}.month-button{cursor:pointer;background:0 0;border:0;grid-template-columns:auto auto;align-items:center;column-gap:7px;padding:5px 10px;display:grid}.month-button>span{letter-spacing:.2em;color:var(--pink-deep);text-align:left;grid-column:1/3;font-size:8px}.month-button strong{font-family:var(--serif);font-size:17px;font-weight:600}.month-button svg{width:14px;height:14px}.readonly-ribbon{z-index:48;color:#8f5159;box-shadow:var(--soft-shadow);letter-spacing:.08em;background:#f7dfe1eb;border-radius:0 0 12px 12px;padding:6px 13px;font-size:10px;position:fixed;top:76px;left:50%;transform:translate(-50%)}.month-popover{z-index:60;border:1px solid var(--line);width:min(330px,100vw - 28px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffdfaf7;border-radius:20px;padding:8px;animation:.25s appear;position:fixed;top:70px;right:86px}.month-option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;justify-content:space-between;align-items:center;width:100%;padding:14px;display:flex}.month-option:hover{background:var(--blush)}.month-option div{flex-direction:column;gap:4px;display:flex}.month-option strong{font-family:var(--serif);font-size:18px}.month-option span{color:var(--muted);font-size:10px}.month-option.current{opacity:.72;cursor:default}.month-option i{background:var(--pink);border-radius:50%;width:8px;height:8px}.future-note{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin:5px 8px 4px;padding:12px 10px;display:flex}.future-note span{color:var(--muted);font-size:9px}.future-note strong{font:12px var(--serif);color:#342a2a94}.app-shell{z-index:2;padding:30px clamp(18px,4vw,56px) 140px;position:relative}.intro-panel{grid-template-columns:minmax(0,1fr) minmax(260px,38%);align-items:center;gap:38px;max-width:1220px;min-height:230px;margin:0 auto;padding:14px 0 34px;display:grid}.eyeline{letter-spacing:.22em;color:var(--pink-deep);margin:0 0 12px;font-size:10px}.intro-panel h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(43px,5vw,72px);font-weight:500;line-height:.96}.intro-meta{color:var(--muted);margin-top:20px;font-size:13px}.latest-photo{border:8px solid var(--paper-strong);height:190px;box-shadow:var(--shadow);cursor:pointer;border-radius:3px;padding:0;position:relative;overflow:hidden;transform:rotate(1.4deg)}.latest-photo img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.latest-photo:hover img{transform:scale(1.04)}.latest-photo:after{content:"";pointer-events:none;background:linear-gradient(135deg,#52302814,#f4bd9b0f);position:absolute;inset:0}.latest-photo span{z-index:2;font-family:var(--serif);color:#fff;text-shadow:0 2px 10px #00000059;font-size:17px;position:absolute;bottom:16px;right:18px}.timeline-toolbar{align-items:center;gap:16px;max-width:1320px;margin:0 auto 18px;display:flex}.zoom-control{border:1px solid var(--line);background:#fffdf8ad;border-radius:999px;gap:2px;padding:3px;display:flex}.zoom-control button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 13px;font-size:12px;transition:all .25s}.zoom-control button.active{background:var(--ink);color:#fffaf2;box-shadow:0 6px 14px #3c2b2429}.zoom-hint{color:var(--muted);font-size:11px}.calendar-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-left:auto;font-size:12px;display:inline-flex}.calendar-button svg{width:17px;height:17px}.timeline-stage{background:#f9f5eeb3;border:1px solid #4b362d1f;border-radius:20px;max-width:1360px;min-height:540px;margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffc,inset 0 -30px 80px #74544306}.timeline-track{overscroll-behavior-inline:contain;scrollbar-width:none;min-height:540px;position:relative;overflow-x:auto}.timeline-track::-webkit-scrollbar{display:none}.timeline-rail{align-items:center;gap:78px;width:max-content;min-width:100%;min-height:540px;padding:50px 82px;display:flex;position:relative}.timeline-rail:before{content:"";background:linear-gradient(90deg,#0000,#533d3357 3% 97%,#0000);height:1px;position:absolute;top:50%;left:42px;right:42px}.day-group{flex:0 0 258px;justify-content:center;align-items:center;height:440px;transition:transform .4s,opacity .4s,filter .4s;display:flex;position:relative}.mobile-day-heading,.mobile-stack-toggle{display:none}.day-group:before{content:"";background:linear-gradient(#533d3329,#533d337a);width:1px;position:absolute;left:50%}.day-group:nth-child(odd):before{height:34px;top:186px}.day-group:nth-child(2n):before{background:linear-gradient(#533d337a,#533d3329);height:34px;top:220px}.date-marker{font-family:var(--serif);letter-spacing:.09em;white-space:nowrap;color:#6d5c53;background:#f9f5eeeb;padding:3px 8px;font-size:13px;position:absolute;top:calc(50% + 17px)}.date-marker:before{content:"";background:var(--pink-deep);border-radius:50%;width:7px;height:7px;position:absolute;top:-20px;left:50%;transform:translate(-50%);box-shadow:0 0 0 6px #9f60651a}.memory-card{text-align:left;background:var(--paper);width:240px;height:184px;box-shadow:var(--soft-shadow);cursor:pointer;transform-origin:50% 108%;border:1px solid #5941361f;border-radius:3px;padding:12px 12px 15px;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .4s,opacity .4s,box-shadow .4s;position:absolute;overflow:hidden}.memory-card:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffffb8}.memory-card:hover{box-shadow:var(--shadow)}.memory-photo{filter:saturate(.88)contrast(.97);border-radius:1px;height:108px;margin-bottom:11px;display:block;position:relative;overflow:hidden}.memory-photo img{object-fit:cover}.memory-card.no-photo{flex-direction:column;justify-content:center;height:144px;display:flex}.memory-title{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.08;display:block}.memory-meta{color:var(--muted);margin-top:7px;font-size:10px;display:block}.memory-badge{background:#fffdf8e6;border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #46322a1f}.stack-count{z-index:8;background:var(--ink);color:#fffaf2;width:28px;height:28px;font:11px var(--serif);box-shadow:var(--soft-shadow);border-radius:50%;place-items:center;display:grid;position:absolute;top:22px;right:0}.day-group:nth-child(odd) .memory-card:first-child{top:0;transform:rotate(-1.2deg)}.day-group:nth-child(2n) .memory-card:first-child{bottom:0;transform:rotate(1deg)}.day-group:nth-child(2n) .date-marker{top:calc(50% - 40px)}.day-group:nth-child(2n) .date-marker:before{top:36px}.day-group.stack .memory-card:nth-child(2){z-index:1;top:7px;transform:translate(7px)rotate(3deg)}.day-group.stack .memory-card:nth-child(3){z-index:0;top:13px;transform:translate(14px)rotate(5.5deg)}.day-group:nth-child(2n).stack .memory-card:nth-child(2){top:auto;bottom:7px}.day-group:nth-child(2n).stack .memory-card:nth-child(3){top:auto;bottom:13px}.day-group.stack .memory-card:first-child{z-index:3}.day-group.stack.fanned .memory-card:first-child{top:0;transform:translate(-96px,-4px)rotate(-11deg)}.day-group.stack.fanned .memory-card:nth-child(2){top:-22px;transform:translate(0)rotate(0)}.day-group.stack.fanned .memory-card:nth-child(3){top:0;transform:translate(96px,-4px)rotate(11deg)}.day-group:nth-child(2n).stack.fanned .memory-card:first-child{top:auto;bottom:0;transform:translate(-96px,4px)rotate(-11deg)}.day-group:nth-child(2n).stack.fanned .memory-card:nth-child(2){top:auto;bottom:-22px}.day-group:nth-child(2n).stack.fanned .memory-card:nth-child(3){top:auto;bottom:0;transform:translate(96px,4px)rotate(11deg)}.day-group.stack.fanned{z-index:12}.day-group.stack.fanned:after{content:"再次点击收拢";color:var(--muted);font-size:10px;position:absolute;top:195px}.timeline-stage[data-zoom=month]{min-height:510px;overflow:hidden}.month-timeline{overscroll-behavior-inline:contain;scrollbar-width:none;min-height:510px;overflow-x:auto}.month-timeline::-webkit-scrollbar{display:none}.month-rail{align-items:flex-start;gap:72px;width:max-content;min-width:100%;padding:42px 72px 68px;display:flex;position:relative}.month-rail:before{content:"";background:linear-gradient(90deg,#0000,#533d3347 3% 97%,#0000);height:1px;position:absolute;top:94px;left:36px;right:36px}.month-group{background:#fffdf8c7;border:1px solid #5941361f;border-radius:5px 24px;flex:0 0 430px;padding:0 0 18px;position:relative;box-shadow:0 18px 44px #50393014}.month-heading{border-bottom:1px solid #59413617;justify-content:space-between;align-items:center;gap:18px;min-height:88px;padding:20px 24px 15px;display:flex;position:relative}.month-node{background:var(--pink-deep);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #9f60651a}.month-heading>div{gap:3px;display:grid}.month-heading small{color:var(--pink-deep);letter-spacing:.22em;font-size:8px}.month-heading strong{font:600 22px/1 var(--serif)}.month-heading p{color:var(--muted);text-align:right;grid-template-columns:auto auto;gap:2px 7px;margin:0;font-size:9px;display:grid}.month-heading p b{color:var(--ink);font:500 25px/.8 var(--serif)}.month-heading p span{background:#59413621;grid-row:1/3;width:1px;height:20px}.month-preview{grid-template-columns:218px 1fr;gap:20px;padding:22px 24px 18px;display:grid}.month-collage{height:174px;position:relative}.month-photo{border:5px solid var(--paper);background:var(--paper);cursor:pointer;border-radius:2px;padding:0;position:absolute;overflow:hidden;box-shadow:0 11px 28px #47302a29}.month-photo img{object-fit:cover;filter:saturate(.86)contrast(.97);transition:transform .55s}.month-photo:hover img{transform:scale(1.045)}.month-photo-1{z-index:3;width:154px;height:128px;top:5px;left:0;transform:rotate(-2deg)}.month-photo-2{z-index:2;width:116px;height:97px;top:0;right:0;transform:rotate(4deg)}.month-photo-3{z-index:1;width:126px;height:94px;bottom:0;right:6px;transform:rotate(-3deg)}.month-photo span{z-index:2;color:#fff;font:9px var(--serif);text-shadow:0 2px 8px #0006;position:absolute;bottom:7px;left:8px}.month-empty-art{color:var(--pink-deep);font:56px var(--serif);border:1px solid var(--line);place-items:center;display:grid;position:absolute;inset:8px}.month-copy{align-self:center;min-width:0}.month-copy>span{color:var(--pink-deep);letter-spacing:.18em;font-size:7px}.month-copy h3{font:600 20px/1.1 var(--serif);margin:9px 0 11px}.month-copy p{color:var(--muted);font:10px/1.6 var(--serif);margin:0}.month-expand{width:calc(100% - 48px);color:var(--muted);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;border-top:1px solid #5941361a;justify-content:space-between;align-items:center;margin:0 24px;padding:11px 0 5px;font-size:9px;display:flex}.month-expand i{font:12px var(--serif)}.month-memory-list{border-top:1px solid #59413617;gap:0;margin:13px 24px 0;animation:.42s cubic-bezier(.2,.8,.2,1) both month-list-in;display:grid}.month-memory-list>button{min-height:70px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #59413614;grid-template-columns:30px 48px 1fr auto;align-items:center;gap:12px;padding:10px 2px;display:grid}.month-memory-list time{color:var(--muted);justify-items:center;display:grid}.month-memory-list time strong{color:var(--ink);font:500 20px/.9 var(--serif)}.month-memory-list time span{margin-top:3px;font-size:7px}.month-memory-thumb,.month-memory-symbol{border-radius:2px;width:48px;height:48px;position:relative;overflow:hidden}.month-memory-thumb img{object-fit:cover;filter:saturate(.86)}.month-memory-symbol{color:var(--pink-deep);background:var(--blush);place-items:center;display:grid}.month-memory-copy{gap:5px;min-width:0;display:grid}.month-memory-copy strong{font:600 14px/1.2 var(--serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-memory-copy small{color:var(--muted);font-size:8px}.month-memory-arrow{color:var(--pink-deep);font:14px var(--serif)}.timeline-empty{text-align:center;place-content:center;justify-items:center;gap:11px;min-height:360px;padding:48px 24px;display:grid}.timeline-empty>span{color:var(--pink-deep);font-size:28px}.timeline-empty strong{font:600 24px var(--serif)}.timeline-empty p{max-width:390px;color:var(--muted);font:12px/1.8 var(--serif);margin:0}@keyframes month-list-in{0%{opacity:0;transform:translateY(-8px)}}.timeline-stage[data-zoom=year]{background:radial-gradient(circle at 50% 52%,#e0bdb84d,#0000 26rem),linear-gradient(145deg,#fffdf9e6,#f3e8e0c7);min-height:min(690px,100vh - 210px)}.year-viewport{min-height:min(690px,100vh - 210px);padding:30px clamp(24px,4vw,58px);animation:.65s cubic-bezier(.2,.8,.2,1) both year-view-in;position:relative;overflow:hidden}.year-heading{z-index:30;justify-items:start;display:grid;position:absolute;top:32px;left:clamp(24px,4vw,58px)}.year-heading>span{color:var(--pink-deep);letter-spacing:.24em;font-size:9px}.year-heading strong{font:500 clamp(48px, 6vw, 76px)/.86 var(--serif);letter-spacing:-.07em;margin:4px 0 6px}.year-heading small{color:var(--muted);letter-spacing:.08em;font-size:11px}.year-switcher{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8b8;border:1px solid #5840361c;border-radius:999px;align-items:center;gap:9px;padding:4px;display:flex;position:absolute;top:34px;right:clamp(24px,4vw,58px)}.year-switcher button{width:30px;height:30px;color:var(--ink);cursor:pointer;background:#ffffffc2;border:0;border-radius:50%;transition:transform .25s,opacity .25s}.year-switcher button:hover:not(:disabled){transform:scale(1.08)}.year-switcher button:disabled{opacity:.24;cursor:default}.year-switcher span{min-width:34px;color:var(--muted);font:10px var(--serif);text-align:center}.inline-spiral{--inline-center-x:50%;--inline-center-y:52%;isolation:isolate;perspective:1200px;position:absolute;inset:8px}.inline-spiral-glow{left:var(--inline-center-x);top:var(--inline-center-y);aspect-ratio:1;filter:blur(18px);background:radial-gradient(circle,#cc899133,#e4c4bc1a 42%,#0000 70%);border-radius:50%;width:min(38vw,470px);animation:4s ease-in-out infinite inline-spiral-breathe;position:absolute;transform:translate(-50%,-50%)}.inline-spiral-orbit{left:var(--inline-center-x);top:var(--inline-center-y);pointer-events:none;border:1px solid #5c43391c;border-radius:50%;position:absolute;transform:translate(-50%,-50%)rotate(-14deg)}.orbit-inner{width:min(42vw,520px);height:min(45vh,350px)}.orbit-outer{opacity:.72;width:min(68vw,850px);height:min(67vh,520px);transform:translate(-50%,-50%)rotate(17deg)}.year-center{z-index:2;left:var(--inline-center-x);top:var(--inline-center-y);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#fffbf6c7;border:1px solid #7a4d5124;border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 14px 40px #5d3f381f}.year-center i{color:var(--pink-deep);font:500 25px/.8 var(--serif);letter-spacing:-.08em}.year-center small{color:var(--muted);font:8px var(--serif);letter-spacing:.16em;margin-top:-22px}.inline-spiral-item{z-index:var(--spiral-z);left:var(--spiral-x);top:var(--spiral-y);width:clamp(116px,11.5vw,166px);height:clamp(84px,8.5vw,122px);color:var(--ink);background:var(--paper-strong);transform:translate(-50%,-50%) rotate(var(--spiral-rotation)) scale(var(--spiral-scale));animation:inline-spiral-in 1s cubic-bezier(.18,.82,.2,1) var(--spiral-delay) both;cursor:pointer;border:5px solid #fffdf8f5;border-radius:3px;padding:0;transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .3s,box-shadow .3s;position:absolute;overflow:hidden;box-shadow:0 16px 38px #4c342e2b}.inline-spiral-item img{object-fit:cover;filter:saturate(.88)contrast(.98);transition:transform .55s}.inline-spiral-item>span{z-index:2;color:#fff;font:10px/1.2 var(--serif);text-align:left;opacity:0;background:linear-gradient(#0000,#312322b8);padding:20px 8px 7px;transition:all .28s;position:absolute;bottom:0;left:0;right:0;transform:translateY(4px)}.inline-spiral-item:hover,.inline-spiral-item:focus-visible{z-index:60;filter:brightness(1.04);transform:translate(-50%,-50%) rotate(0) scale(calc(var(--spiral-scale) + .12));box-shadow:0 24px 60px #4c342e40}.inline-spiral-item:hover img{transform:scale(1.045)}.inline-spiral-item:hover>span,.inline-spiral-item:focus-visible>span{opacity:1;transform:none}.inline-spiral-text{border-width:1px;padding:15px}.inline-spiral-text>span{height:100%;color:var(--ink);opacity:1;background:0 0;align-content:end;gap:6px;padding:0;display:grid;position:relative;inset:auto;transform:none}.inline-spiral-text small{color:var(--pink-deep);letter-spacing:.14em;font-size:8px}.inline-spiral-text strong{font:600 15px/1.12 var(--serif);text-align:left}.year-guidance{z-index:30;color:var(--muted);font:9px var(--serif);letter-spacing:.08em;white-space:nowrap;margin:0;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}@keyframes year-view-in{0%{opacity:0;transform:scale(.975)}}@keyframes inline-spiral-in{0%{left:var(--inline-center-x);top:var(--inline-center-y);opacity:0;filter:blur(5px);transform:translate(-50%,-50%)rotate(-34deg)scale(.18)}}@keyframes inline-spiral-breathe{50%{opacity:.58;transform:translate(-50%,-50%)scale(1.12)}}.capture-button{z-index:40;left:50%;bottom:max(24px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;background:#fffdf8f0;border:1px solid #c1707c38;border-radius:999px;align-items:center;gap:10px;padding:14px 23px;font-size:13px;font-weight:500;transition:all .3s;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 38px #563a332e,0 0 0 7px #9f606514}.capture-button:hover{transform:translate(-50%)translateY(-4px);box-shadow:0 22px 58px #91525b40,0 0 0 12px #f7dfe147}.capture-button span{color:var(--pink-deep);animation:2.6s ease-in-out infinite breathe}.capture-button.disabled{opacity:.55}@keyframes breathe{50%{opacity:.45;transform:scale(.78)rotate(15deg)}}.spiral-overlay,.modal-layer{z-index:80;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#39292947;place-items:center;padding:24px;animation:.35s fade-in;display:grid;position:fixed;inset:0}.detail-dock{z-index:70;pointer-events:none;width:min(408px,100vw - 44px);max-height:calc(100vh - 112px);animation:.46s cubic-bezier(.18,.82,.2,1) both detail-dock-in;position:fixed;top:86px;right:22px}.detail-card{pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overscroll-behavior:contain;background:#fffdf8f5;border:1px solid #5840361f;border-radius:10px 30px;width:100%;max-height:calc(100vh - 112px);padding:14px 14px 22px;position:relative;overflow-y:auto;box-shadow:0 26px 80px #482d3045,0 0 0 8px #fffdf86b}.detail-close{z-index:8;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#31272657;border:1px solid #ffffff75;border-radius:50%;width:34px;height:34px;font-size:20px;position:absolute;top:12px;right:12px}.detail-photo{aspect-ratio:16/9;border-radius:7px 24px;width:100%;margin-bottom:26px;position:relative;overflow:hidden}.detail-photo img{object-fit:cover}.detail-photo>span{z-index:2;color:#fff;font:14px var(--serif);text-shadow:0 2px 10px #00000059;position:absolute;bottom:14px;right:16px}.detail-card h2{font:500 clamp(34px, 6vw, 58px)/1 var(--serif);letter-spacing:-.04em;margin:0 0 18px}.detail-card>p:not(.eyeline){color:var(--muted);font-size:12px}.detail-card blockquote{border-top:1px solid var(--line);font:20px/1.7 var(--serif);margin:28px 0 0;padding-top:22px}.detail-title-input{border:0;border-bottom:1px solid var(--pink);width:100%;font:500 clamp(34px, 6vw, 58px)/1 var(--serif);letter-spacing:-.04em;background:0 0;outline:0;padding:0 0 8px}.memory-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.memory-tags span{color:var(--muted);background:var(--blush);border-radius:999px;padding:6px 10px;font-size:10px}.original-record{background:#fff8f5;border-radius:16px;margin-top:24px;padding:14px}.original-record summary{cursor:pointer;font-size:12px}.original-record audio{width:100%;margin-top:14px}.original-record p{color:var(--muted);font-size:9px}.detail-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:24px;padding-top:24px;display:flex}.detail-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:10px 13px;font-size:11px;display:inline-flex}.detail-actions svg{width:16px;height:16px}.detail-actions .dark-action{background:var(--ink);color:#fff;border-color:var(--ink)}.detail-actions .danger-action{color:#9d4f58}.overlay-close{z-index:95;color:#fff;cursor:pointer;background:#342a2a4d;border:1px solid #ffffff47;border-radius:50%;width:44px;height:44px;font-size:24px;position:fixed;top:22px;right:24px}@keyframes detail-dock-in{0%{opacity:0;transform:translate(28px)scale(.98)}}.spiral-overlay{--spiral-center-x:64%;--spiral-center-y:53%;color:#fff;background:radial-gradient(circle at var(--spiral-center-x) var(--spiral-center-y), #eebec063, transparent 20%), radial-gradient(circle at 44% 52%, #cdb2b057, transparent 46%), linear-gradient(135deg, #3b3031 0%, #443638 55%, #2d2527 100%);padding:0;display:block;overflow:hidden}.spiral-copy{z-index:35;pointer-events:none;position:absolute;top:clamp(78px,12vh,126px);left:clamp(24px,6vw,90px)}.spiral-copy p{letter-spacing:.2em;color:#ffffffa6;font-size:10px}.spiral-copy h2{font-family:var(--serif);letter-spacing:-.05em;max-width:570px;margin:14px 0 18px;font-size:clamp(46px,6vw,84px);font-weight:500;line-height:.92}.spiral-copy span{color:#ffffff9e;font-size:12px}.spiral-canvas{perspective:1300px;position:absolute;inset:0}.spiral-glow{left:var(--spiral-center-x);top:var(--spiral-center-y);filter:blur(40px);background:#f3bcbf21;border-radius:50%;width:30vw;height:30vw;animation:3.8s ease-in-out infinite spiral-pulse;position:absolute;transform:translate(-50%,-50%)}.spiral-orbit{left:var(--spiral-center-x);top:var(--spiral-center-y);border:1px solid #ffffff14;border-radius:50%;position:absolute;transform:translate(-50%,-50%)rotate(-18deg)}.spiral-orbit-a{width:40vw;height:58vh}.spiral-orbit-b{opacity:.65;width:54vw;height:76vh;transform:translate(-50%,-50%)rotate(24deg)}.spiral-item{z-index:var(--spiral-z);left:var(--spiral-left);top:var(--spiral-top);width:clamp(126px,12vw,190px);height:clamp(92px,9vw,140px);transform:translate(-50%, -50%) rotate(var(--spiral-rotation)) scale(var(--spiral-scale));animation:spiral-in 1.05s cubic-bezier(.18,.78,.2,1) var(--spiral-delay) both;cursor:pointer;background:linear-gradient(135deg,#fff9f4,#edc7ca);border:1px solid #ffffff59;border-radius:5px 20px;transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .35s,box-shadow .35s;position:absolute;overflow:hidden;box-shadow:0 20px 64px #00000061}.spiral-item img{object-fit:cover}.spiral-item:hover{z-index:50;filter:brightness(1.08)saturate(1.04);transform:translate(-50%, -50%) rotate(0deg) scale(calc(var(--spiral-scale) + .12));box-shadow:0 28px 90px #00000075}.spiral-caption{z-index:2;color:#fff;font:12px/1.2 var(--serif);text-align:left;opacity:0;background:linear-gradient(#0000,#271d1fb8);padding:22px 11px 9px;transition:all .3s;position:absolute;bottom:0;left:0;right:0;transform:translateY(5px)}.spiral-item:hover .spiral-caption,.spiral-item:focus-visible .spiral-caption{opacity:1;transform:none}.spiral-item-text{padding:18px}.spiral-text{z-index:1;height:100%;color:var(--ink);text-align:left;align-content:end;gap:7px;display:grid;position:relative}.spiral-text small{color:var(--pink-deep);letter-spacing:.14em;font-size:8px}.spiral-text strong{font:600 16px/1.15 var(--serif)}.spiral-counter{z-index:35;color:#ffffff94;font:9px var(--serif);letter-spacing:.16em;align-items:center;gap:10px;display:flex;position:absolute;bottom:38px;left:clamp(24px,6vw,90px)}.spiral-counter i{background:#ffffff3d;width:68px;height:1px;display:block}@keyframes spiral-in{0%{left:var(--spiral-center-x);top:var(--spiral-center-y);opacity:0;transform:translate(-50%,-50%)rotate(-42deg)scale(.16)}}@keyframes spiral-pulse{50%{opacity:.55;transform:translate(-50%,-50%)scale(1.18)}}@keyframes fade-in{0%{opacity:0}}@keyframes appear{0%{opacity:0;transform:translateY(8px)}}.sheet-backdrop{z-index:70;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#3929292e;border:0;position:fixed;inset:0}.capture-sheet{z-index:80;width:min(760px,100%);max-height:92vh;padding:12px 28px calc(24px + env(safe-area-inset-bottom));background:#fffdfafa;border-radius:32px 32px 0 0;animation:.5s cubic-bezier(.2,.8,.2,1) sheet-up;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -30px 90px #482d3033}@keyframes sheet-up{0%{transform:translate(-50%,100%)}}.sheet-handle{background:#5642422b;border-radius:99px;width:44px;height:4px;margin:0 auto 18px}.sheet-header,.modal-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.sheet-header p,.modal-header p,.report-page>p{letter-spacing:.22em;color:var(--pink-deep);margin:0 0 12px;font-size:10px}.sheet-header h2,.modal-header h2{font-family:var(--serif);margin:0;font-size:38px;font-weight:600;line-height:1}.close-plain{cursor:pointer;background:0 0;border:0;border-radius:50%;width:38px;height:38px;font-size:26px}.recording-area{background:linear-gradient(135deg,#f7dfe1b3,#fff8f4bf);border-radius:24px;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;gap:6px 20px;min-height:115px;margin:24px 0;padding:20px;display:grid}.mic-orb{cursor:pointer;width:70px;height:70px;color:var(--pink-deep);background:#ffffffd1;border:1px solid #c7758033;border-radius:50%;grid-row:1/3;place-items:center;display:grid;box-shadow:0 12px 30px #a1616b29}.mic-orb.recording{background:var(--pink-deep);color:#fff;animation:1.1s infinite pulse}@keyframes pulse{50%{opacity:.5}}.waveform{align-items:center;gap:5px;height:36px;display:flex}.waveform i{background:var(--pink-deep);opacity:.34;border-radius:5px;width:3px;height:10px}.waveform i:nth-child(2n){height:20px}.waveform i:nth-child(3n){height:28px}.mic-orb.recording+.waveform i{animation:1s ease-in-out infinite wave}.mic-orb.recording+.waveform i:nth-child(2n){animation-delay:.1s}.mic-orb.recording+.waveform i:nth-child(3n){animation-delay:.2s}@keyframes wave{50%{opacity:.75;transform:scaleY(.45)}}.recording-area>span{color:var(--muted);font-size:11px}.input-label{margin-bottom:8px;font-size:12px;display:block}.capture-sheet textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:18px;outline:none;padding:16px;line-height:1.7}.capture-sheet textarea:focus,.capture-sheet input:focus,.search-input input:focus,.confirm-label input:focus{border-color:#c8758080;box-shadow:0 0 0 4px #f7dfe199}.date-question{background:#f7dfe17a;border-radius:16px;margin-top:14px;padding:14px}.date-question p{margin:0 0 10px;font-size:12px}.date-question>div{flex-wrap:wrap;gap:8px;display:flex}.date-question button,.date-question input{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px;font-size:11px}.photo-ready{color:#688267;background:#e7efe5b3;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;font-size:11px;display:flex}.photo-ready button{cursor:pointer;background:0 0;border:0;text-decoration:underline}.preview-list{gap:12px;margin-top:16px;display:grid}.preview-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:1fr auto;gap:12px;padding:15px;animation:.35s appear;display:grid}.preview-card>div>span{color:var(--pink-deep);font:10px var(--serif)}.preview-card input{width:100%;font:22px var(--serif);background:0 0;border:0;border-bottom:1px solid #0000;outline:none;padding:4px 0}.preview-card input:focus{box-shadow:none;border-color:var(--pink)}.preview-card p{color:var(--muted);margin:2px 0 0;font-size:10px}.preview-card>button{background:var(--blush);cursor:pointer;border:0;border-radius:999px;align-self:center;padding:8px 12px;font-size:10px}.sheet-actions{background:linear-gradient(#0000,#fffdfafa 22%);gap:10px;padding:18px 0 0;display:flex;position:sticky;bottom:-24px}.primary-button,.secondary-button{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 18px;display:inline-flex}.primary-button{background:var(--ink);color:#fff;border:0;flex:1}.secondary-button{border:1px solid var(--line);background:#fff}.secondary-button svg{width:17px;height:17px}.modal-card{border:1px solid var(--line);width:min(680px,100%);max-height:88vh;box-shadow:var(--shadow);background:#fffdfafa;border-radius:28px;padding:28px;overflow-y:auto}.search-input{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:10px;margin-top:24px;padding:0 14px;display:flex}.search-input input{background:0 0;border:0;outline:none;flex:1;padding:15px 0}.suggestions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.suggestions button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 10px;font-size:10px}.search-results{gap:10px;margin-top:22px;display:grid}.search-result{cursor:pointer;text-align:left;background:#f7dfe16b;border:0;border-radius:16px;align-items:center;gap:13px;width:100%;padding:12px;display:flex}.mini-photo{background-position:50%;background-size:cover;border-radius:8px 14px;flex:none;width:58px;height:58px}.mini-photo.text-only{color:var(--pink-deep);font:18px var(--serif);background:#fff;place-items:center;display:grid}.search-result>span:last-child{gap:4px;display:grid}.search-result strong{font:18px var(--serif)}.search-result small{color:var(--muted);font-size:10px}.empty-state{color:var(--muted);text-align:center;font:18px var(--serif);margin:30px 0}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:24px;display:grid}.calendar-grid span,.calendar-grid button{aspect-ratio:1;border-radius:50%;place-items:center;font-size:11px;display:grid;position:relative}.calendar-grid .weekday{color:var(--muted);aspect-ratio:auto;padding-bottom:8px}.calendar-grid button{cursor:pointer;background:0 0;border:0}.calendar-grid button.has-memory{background:var(--blush)}.calendar-grid button.has-memory:after{content:"";background:var(--pink-deep);border-radius:50%;width:3px;height:3px;position:absolute;bottom:5px}.calendar-grid button.today{box-shadow:inset 0 0 0 1px var(--pink-deep)}.calendar-grid sup{color:var(--pink-deep);font-size:7px;position:absolute;top:2px;right:2px}.settings-list{gap:8px;margin-top:24px;display:grid}.setting-row{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.setting-row div{gap:4px;display:grid}.setting-row strong{font-size:13px}.setting-row span{color:var(--muted);font-size:10px}.setting-row button,.trash-row button{background:var(--blush);cursor:pointer;border:0;border-radius:999px;padding:7px 11px;font-size:10px}.setting-row.danger strong{color:#9d4f58}.status-chip{background:#e7efe5;border-radius:999px;padding:6px 9px;color:#688267!important}.cooling-banner{background:linear-gradient(135deg,#f7dfe1,#fff7f1);border-radius:18px;gap:4px;padding:16px;display:grid}.cooling-banner strong{color:#9d4f58;font-size:13px}.cooling-banner span{color:var(--muted);font-size:10px}.cooling-banner button{cursor:pointer;background:#fff;border:0;border-radius:999px;justify-self:start;margin-top:7px;padding:7px 10px;font-size:10px}.subview{margin-top:22px}.back-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 0 16px;font-size:11px}.trash-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.trash-row>div{gap:5px;display:grid}.trash-row strong{font:16px var(--serif)}.trash-row span,.logic-delete-note{color:var(--muted);font-size:9px}.logic-delete-note{margin-top:18px;line-height:1.7}.space-view{gap:16px;display:grid}.space-not-created{border:1px solid var(--line);background:var(--paper-strong);text-align:center;border-radius:22px;justify-items:center;gap:12px;padding:34px 22px;display:grid}.space-not-created>span{color:var(--pink-deep);letter-spacing:.18em;font-size:8px}.space-not-created h3{font:600 24px var(--serif);margin:0}.space-not-created p{max-width:360px;color:var(--muted);font:10px/1.8 var(--serif);margin:0}.space-cover{color:#fffaf5;min-height:150px;box-shadow:var(--soft-shadow);background:radial-gradient(circle at 78% 22%,#fff2e738,#0000 9rem),linear-gradient(145deg,#875a5f,#b98586 56%,#c9a28f);border-radius:5px 26px;padding:26px;position:relative;overflow:hidden}.space-cover:after{content:"CA";color:#ffffff21;font:92px var(--serif);position:absolute;bottom:-18px;right:22px}.space-cover>span{letter-spacing:.22em;font-size:8px}.space-cover h3{font:500 36px/1 var(--serif);margin:18px 0 5px}.space-cover p{color:#fffaf5c2;font:11px var(--serif);margin:0}.space-members{grid-template-columns:1fr 1fr;gap:36px;padding:8px 4px;display:grid;position:relative}.space-member{z-index:2;text-align:center;justify-items:center;gap:6px;min-width:0;display:grid;position:relative}.member-avatar{border:5px solid var(--paper-strong);color:#fff;background:var(--pink-deep);width:54px;height:54px;font:600 20px var(--serif);border-radius:50%;place-items:center;display:grid;box-shadow:0 8px 20px #4a332d29}.space-member:nth-of-type(2) .member-avatar,.member-avatar.partner{background:#92766a}.space-member.waiting .member-avatar{color:var(--muted);background:#eadfd7;border-style:dashed}.space-member strong{font:600 14px var(--serif)}.space-member>span{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.members-thread{color:var(--pink-deep);align-items:center;display:flex;position:absolute;top:29px;left:28%;right:28%}.members-thread i{background:#9f606559;flex:1;height:1px}.members-thread span{font:7px var(--serif);letter-spacing:.08em;white-space:nowrap;padding:0 6px}.pending-invite-card,.bound-space-note,.space-rule{border:1px solid var(--line);background:#ffffffc7;border-radius:16px;gap:6px;padding:15px 16px;display:grid}.pending-invite-card>span,.space-rule>span{color:var(--pink-deep);letter-spacing:.14em;font-size:8px}.pending-invite-card strong,.bound-space-note strong{font:600 13px var(--serif)}.pending-invite-card button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:999px;justify-self:start;margin-top:4px;padding:8px 12px;font-size:9px}.bound-space-note span,.space-rule p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.breakup-view{gap:18px;display:grid}.breakup-lead{font:19px/1.7 var(--serif)}.breakup-view ol{color:var(--muted);background:#fff8f5;border-radius:18px;margin:0;padding:18px 18px 18px 38px;font-size:11px;line-height:2}.confirm-label{gap:8px;font-size:11px;display:grid}.confirm-label input{border:1px solid var(--line);background:#fff;border-radius:14px;outline:none;padding:12px}.danger-solid{color:#fff;cursor:pointer;background:#984d56;border:0;border-radius:999px;padding:13px 18px}.danger-solid:disabled{opacity:.35;cursor:not-allowed}.cooling-date{background:var(--blush);border-radius:18px;justify-content:space-between;align-items:center;padding:16px;display:flex}.cooling-date span{color:var(--muted);font-size:10px}.cooling-date strong{font:18px var(--serif)}.report-view{z-index:90;color:#fff;background:linear-gradient(135deg,#6a4149 0%,#c77f88 44%,#f1b8a5 100%);position:fixed;inset:0;overflow:hidden}.report-view:before{content:"";background:radial-gradient(circle,#ffffff38,#0000 45%);animation:8s ease-in-out infinite alternate drift;position:absolute;inset:-20%}@keyframes drift{to{transform:translate(8%,-4%)scale(1.1)}}.report-progress{z-index:3;background:#ffffff3d;height:2px;position:absolute;top:22px;left:24px;right:82px}.report-progress i{background:#fff;height:100%;transition:width .45s;display:block}.report-page{text-align:center;opacity:0;pointer-events:none;align-content:center;place-items:center;padding:48px 24px;transition:all .6s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;inset:0;transform:translateY(30px)scale(.97)}.report-page.active{opacity:1;pointer-events:auto;transform:none}.report-page>p{color:#ffffffb3}.report-page h2{font-family:var(--serif);margin:22px 0 34px;font-size:clamp(72px,13vw,160px);font-weight:500;line-height:.72}.report-page h3{font-family:var(--serif);font-size:clamp(30px,5vw,54px);font-weight:500}.report-page>span{letter-spacing:.12em;font-size:12px}.report-photo{border-radius:10px 34px;width:min(52vw,620px);height:min(44vh,430px);position:relative;overflow:hidden;box-shadow:0 25px 80px #43232957}.report-photo img{object-fit:cover}.report-photo-sunset{background:radial-gradient(circle at 68% 34%,#fff1beeb 0 4%,#0000 5%),linear-gradient(#baa7bb 0 38%,#dfaa98 52%,#9a6670 68%,#4a394d 100%)}.report-stats{gap:clamp(28px,8vw,120px);display:flex}.report-stats div{gap:8px;display:grid}.report-stats strong{font-family:var(--serif);font-size:clamp(74px,11vw,140px);font-weight:500}.report-stats span{opacity:.72}.report-page blockquote{font-family:var(--serif);max-width:980px;margin:0;font-size:clamp(34px,5vw,62px);line-height:1.15}.report-action,.report-next{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff5c;border-radius:999px;padding:13px 20px}.report-action{margin-top:42px}.report-next{z-index:4;position:absolute;bottom:24px;right:26px}.toast{z-index:120;color:#fff;opacity:0;pointer-events:none;background:#342a2aeb;border-radius:999px;padding:10px 16px;font-size:11px;transition:all .3s;position:fixed;bottom:95px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.auth-page{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 70% 28%,#f7dfe1c7,#0000 25rem),radial-gradient(circle at 20% 88%,#f6c8b252,#0000 24rem),#fff8f4;grid-template-rows:auto 1fr auto;padding:28px clamp(20px,5vw,70px);display:grid}.auth-brand{color:var(--ink);font:22px var(--serif);justify-self:start;text-decoration:none}.auth-brand span{color:var(--pink-deep);font-size:29px;font-weight:600}.auth-panel{width:min(520px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fffdfad1;border:1px solid #654a4a1a;border-radius:10px 32px;place-self:center;padding:clamp(28px,5vw,52px)}.auth-panel>p{color:var(--pink-deep);letter-spacing:.22em;margin:0 0 14px;font-size:9px}.auth-panel h1{font:500 clamp(38px, 7vw, 62px)/.98 var(--serif);letter-spacing:-.04em;margin:0 0 14px}.auth-panel>span{color:var(--muted);font-size:12px;line-height:1.7;display:block}.auth-panel form{gap:14px;margin-top:28px;display:grid}.auth-panel label{gap:7px;font-size:11px;display:grid}.auth-panel input{border:1px solid var(--line);background:#fff;border-radius:14px;outline:none;width:100%;padding:12px 14px}.auth-panel form>button,.accept-invite{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:999px;margin-top:6px;padding:13px 18px}.auth-panel button:disabled{opacity:.45}.auth-message{color:#815058;background:var(--blush);border-radius:14px;margin-top:16px;padding:11px 13px;font-size:10px;line-height:1.6}.auth-switches{gap:14px;margin-top:20px;display:flex}.auth-switches button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;text-decoration:underline}.auth-footnote{color:var(--muted);font:10px var(--serif);justify-self:center}.accept-invite{width:100%;margin-top:28px}.invite-link{color:var(--pink-deep);margin-top:14px;font-size:11px;display:inline-block}.invite-ready{gap:10px;margin-top:18px;display:grid}.invite-code{background:#ecd9d759;border:1px dashed #9f606561;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.invite-code span{color:var(--muted);font-size:9px}.invite-code strong{color:var(--pink-deep);font:600 18px var(--serif);letter-spacing:.12em}.share-invite-button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:13px 18px}.enter-pending-space{color:var(--muted);text-align:center;font-size:10px}.invite-couple-preview{justify-content:center;align-items:center;gap:13px;margin:28px 0 18px;display:flex}.couple-link-mark{color:var(--pink-deep);font:22px var(--serif)}@media (max-width:760px){.topbar{grid-template-columns:1fr auto;height:68px;padding-inline:16px}.together{display:none}.topbar-actions{gap:3px}.space-status-button{background:0 0;border:0;min-width:0;padding:4px}.space-status-copy{display:none}.space-avatars{width:42px}.month-button{padding-inline:5px}.month-button strong{font-size:13px}.icon-button{width:38px;height:38px}.brand-moments{display:none}.readonly-ribbon{top:66px}.month-popover{top:62px;right:10px}.app-shell{padding:14px 10px 184px}.intro-panel{grid-template-columns:1fr 92px;gap:10px;min-height:168px;padding:0 0 18px}.eyeline{font-size:8px}.intro-panel h1{font-size:clamp(29px,9vw,42px)}.intro-meta{font-size:8px;line-height:1.5}.latest-photo{border-width:5px;border-radius:2px;height:116px}.latest-photo span{font-size:12px;bottom:10px;right:11px}.timeline-toolbar{padding-inline:4px}.zoom-hint{display:none}.timeline-stage{border-radius:14px;min-height:820px;overflow:visible}.timeline-track{height:auto;min-height:820px;overflow:visible}.timeline-rail{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;height:auto;min-height:820px;padding:34px 14px 156px 58px}.timeline-rail:before{background:linear-gradient(#0000,#533d3357 2% 98%,#0000);width:1px;height:auto;inset:22px auto 92px 25px}.day-group{flex:none;width:100%;height:282px;padding-top:54px;transition:height .55s cubic-bezier(.2,.8,.2,1);display:block}.day-group:before,.day-group:nth-child(odd):before,.day-group:nth-child(2n):before{background:linear-gradient(90deg,#533d3375,#533d3321);width:46px;height:1px;top:80px;left:-33px}.date-marker{display:none}.mobile-day-heading{color:#66564d;justify-content:space-between;align-items:baseline;display:flex;position:absolute;top:13px;left:0;right:2px}.mobile-day-heading:before{content:"";background:var(--pink-deep);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:-36px;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #9f606517}.mobile-day-heading span{font:600 17px/1.2 var(--serif);letter-spacing:.01em}.mobile-day-heading small{color:var(--muted);letter-spacing:.08em;font-size:9px}.memory-card{width:min(292px,100vw - 94px);height:184px;left:0;top:54px!important;bottom:auto!important;transform:rotate(-.7deg)!important}.day-group.stack .memory-card:nth-child(2){transform:translate(7px,8px)rotate(2.2deg)!important}.day-group.stack .memory-card:nth-child(3){transform:translate(13px,15px)rotate(4.6deg)!important}.stack-count{display:none}.mobile-stack-toggle{z-index:9;color:#fffaf2;letter-spacing:.04em;cursor:pointer;background:#342923e6;border:1px solid #4b362d24;border-radius:999px;justify-content:center;align-items:center;padding:7px 10px;font-size:9px;display:inline-flex;position:absolute;top:66px;right:7px;box-shadow:0 7px 18px #49332b21}.day-group.stack.fanned{flex-direction:column;gap:18px;height:auto;min-height:668px;padding-top:54px;padding-bottom:62px;display:flex}.day-group.stack.fanned .memory-card{z-index:1;flex:none;position:relative;inset:auto!important;transform:none!important}.day-group.stack.fanned .memory-card:first-child{transform:rotate(-.7deg)!important}.day-group.stack.fanned .memory-card:nth-child(2){transform:rotate(.55deg)!important}.day-group.stack.fanned .memory-card:nth-child(3){transform:rotate(-.35deg)!important}.day-group.stack.fanned .mobile-stack-toggle{color:var(--muted);background:#fffdf8d1;top:auto;bottom:24px;right:6px}.timeline-stage[data-zoom=month],.month-timeline{min-height:0;overflow:visible}.month-rail{gap:32px;width:100%;min-width:0;padding:34px 10px 140px 46px;display:grid}.month-rail:before{background:linear-gradient(#0000,#533d334d 2% 98%,#0000);width:1px;height:auto;inset:20px auto 90px 22px}.month-group{border-radius:4px 20px;width:100%;min-width:0}.month-heading{min-height:82px;padding:18px 17px 14px}.month-node{top:41px;left:-24px;transform:translate(-50%,-50%)}.month-heading:before{content:"";background:linear-gradient(90deg,#533d3361,#533d331a);width:24px;height:1px;position:absolute;top:41px;left:-24px}.month-heading strong{font-size:20px}.month-heading p{font-size:8px}.month-heading p b{font-size:22px}.month-preview{grid-template-columns:1fr;gap:12px;padding:18px 17px 14px}.month-collage{width:min(100%,280px);height:176px;margin-inline:auto}.month-photo-1{width:65%;height:132px}.month-photo-2{width:46%;height:98px}.month-photo-3{width:49%;height:92px}.month-copy{padding:0 2px}.month-copy h3{margin-block:7px 6px;font-size:19px}.month-copy p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-expand{width:calc(100% - 34px);margin-inline:17px;padding-top:11px}.month-memory-list{margin:13px 17px 0}.month-memory-list>button{grid-template-columns:26px 44px 1fr auto;gap:9px}.month-memory-thumb,.month-memory-symbol{width:44px;height:44px}.timeline-stage[data-zoom=year]{min-height:min(650px,100svh - 120px)}.year-viewport{min-height:min(650px,100svh - 120px);padding:18px 12px}.year-heading{top:20px;left:18px}.year-heading strong{font-size:48px}.year-heading small{font-size:8px}.year-switcher{top:20px;right:14px}.year-switcher button{width:28px;height:28px}.inline-spiral{--inline-center-x:50%;--inline-center-y:58%;inset:2px}.inline-spiral-glow{width:76vw}.orbit-inner{width:72vw;height:33vh}.orbit-outer{width:104vw;height:53vh}.year-center{width:66px;height:66px}.year-center i{font-size:21px}.year-center small{margin-top:-17px;font-size:7px}.inline-spiral-item{left:var(--spiral-x-mobile);top:var(--spiral-y-mobile);border-width:4px;width:104px;height:76px}.inline-spiral-item>span{padding:16px 6px 6px;font-size:8px}.inline-spiral-text{border-width:1px;padding:10px}.inline-spiral-text>span{padding:0}.inline-spiral-text strong{font-size:12px}.year-guidance{font-size:8px;bottom:12px}.capture-button{padding:13px 20px}.capture-sheet{padding-inline:18px}.recording-area{padding:15px}.mic-orb{width:62px;height:62px}.modal-layer{padding:10px}.modal-card{border-radius:24px;padding:20px}.calendar-grid{gap:4px}.spiral-overlay{--spiral-center-x:50%;--spiral-center-y:59%}.spiral-copy{text-align:center;top:66px;left:22px;right:22px}.spiral-copy p{font-size:8px}.spiral-copy h2{margin-block:9px 12px;font-size:clamp(36px,11vw,50px);line-height:.94}.spiral-copy h2 br{display:none}.spiral-copy span{font-size:10px}.spiral-item{left:var(--spiral-left-mobile);top:var(--spiral-top-mobile);border-radius:4px 14px;width:110px;height:82px}.spiral-orbit-a{width:72vw;height:47vh}.spiral-orbit-b{width:100vw;height:64vh}.spiral-counter{bottom:24px;left:50%;transform:translate(-50%)}.detail-dock{top:auto;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100vw - 20px);max-height:46svh;animation-name:detail-dock-up}.detail-card{border-radius:10px 24px;max-height:46svh;padding:10px 10px 17px}.detail-photo{aspect-ratio:2.2;margin-bottom:16px}.detail-card h2,.detail-title-input{font-size:31px}.detail-card blockquote{margin-top:18px;padding-top:14px;font-size:16px}.detail-actions{margin-top:16px;padding-top:14px}.report-photo{width:84vw;height:42vh}.report-stats{gap:30px}.report-stats strong{font-size:58px}.report-page blockquote{font-size:34px}}@keyframes detail-dock-up{0%{opacity:0;transform:translateY(24px)scale(.98)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
