@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Klee+One:wght@400;600&display=swap";@layer components;@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--tracking-wide:.025em;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-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 utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-\[55\]{z-index:55}.z-\[60\]{z-index:60}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.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}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--line-soft\)\]{border-color:var(--line-soft)}.object-cover{object-fit:cover}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:oklch(97% 0 0);--surface:oklch(100% 0 0);--surface-raised:oklch(100% 0 0);--surface-soft:oklch(94% 0 0);--surface-hover:oklch(90% 0 0);--text-strong:oklch(22% 0 0);--text-soft:oklch(36% 0 0);--text-muted:oklch(50% 0 0);--text-faint:oklch(64% 0 0);--line-soft:oklch(0% 0 0/.1);--line-strong:oklch(0% 0 0/.18);--accent:oklch(64% .24 350);--accent-strong:oklch(58% .26 350);--accent-soft:oklch(64% .22 350/.16);--on-accent:oklch(99% 0 0);--glass:oklch(0% 0 0/.05);--glass-hover:oklch(0% 0 0/.1);--shadow-soft:0 18px 50px oklch(0% 0 0/.16);--photo-frame-bg:oklch(88% 0 0);--photo-cell-bg:oklch(92% 0 0);--field-flat:oklch(0% 0 0/.05);--field-flat-focus:oklch(0% 0 0/.08);--modal-soft-glow:oklch(0% 0 0/.04);--modal-soft-base-1:oklch(99% 0 0/.88);--modal-soft-base-2:oklch(96% 0 0/.95);--track:oklch(0% 0 0/.14);--track-hover:oklch(0% 0 0/.24);--track-fill:oklch(0% 0 0/.62);--on-media-text:oklch(100% 0 0);--on-media-text-soft:oklch(100% 0 0/.82);--on-media-faint:oklch(100% 0 0/.55);--on-media-glass:oklch(100% 0 0/.12);--on-media-glass-hover:oklch(100% 0 0/.2);--on-media-field:oklch(0% 0 0/.18);--on-media-scrim:oklch(0% 0 0/.34);--compose-bg:oklch(100% 0 0/.9);--compose-shadow:0 12px 34px oklch(0% 0 0/.16);--app-width-max:30rem;--space-inline:clamp(.75rem, 4.2vw, 1.25rem);--space-inline-lg:clamp(1rem, 5vw, 1.5rem);--space-section:clamp(.75rem, 3.5vw, 1.25rem);--space-grid-gap:clamp(.5rem, 2.8vw, .75rem);--space-modal-inset:clamp(.5rem, 3vw, .75rem);font-family:system-ui,-apple-system,Helvetica Neue,sans-serif}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{width:100%;max-width:var(--app-width-max);height:100svh;margin:0 auto;overflow:hidden;transform:translate(0)}.access-gate{height:100%;padding:var(--space-inline);background:var(--app-bg);justify-content:center;align-items:center;display:flex}.access-gate-card{flex-direction:column;gap:.75rem;width:min(16rem,100%);display:flex}.access-gate-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.access-gate-input{background:var(--surface-soft);width:100%;color:var(--text-strong);border:0;border-radius:.65rem;padding:.6rem .75rem;font-size:1rem}.access-gate-input:focus{background:var(--field-flat-focus);outline:none}.access-gate-error{color:oklch(58% .2 25);margin:0;font-size:.8rem}.app-pad-inline{padding-inline:var(--space-inline)}.app-pad-inline-lg{padding-inline:var(--space-inline-lg)}body{background:var(--app-bg);-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.app-shell{background:var(--app-bg);color:var(--text-strong)}.field-text,.soft-label-active{color:var(--text-strong)}.secondary-text{color:var(--text-soft)}.muted-text{color:var(--text-muted)}.faint-text{color:var(--text-faint)}.round-btn,.glass-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;justify-content:center;align-items:center;padding:0;transition:color .18s,transform .18s;display:inline-flex}.round-btn{width:2.25rem;height:2.25rem;color:var(--text-soft);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:9999px;transition:background .18s,color .18s,transform .18s}.round-btn:hover{background:var(--glass-hover);color:var(--accent)}.round-btn:active,.glass-btn:active{transform:scale(.94)}.round-btn-lg{width:3.75rem;height:3.75rem}.round-btn-accent{color:var(--accent)}.round-btn-accent:hover{color:var(--accent-strong);background:var(--accent-soft)}.round-btn-accent svg{width:1.75rem;height:1.75rem}.glass-btn{color:var(--text-soft);flex-shrink:0;position:relative}.glass-btn-md{width:2.25rem;height:2.25rem}.glass-btn-lg{width:3.75rem;height:3.75rem}.glass-btn-accent{color:var(--accent)}.glass-btn-lg .glass-btn-content svg{width:1.75rem;height:1.75rem}.glass-btn-lens{pointer-events:none;border-radius:9999px;position:absolute;inset:0;overflow:hidden}.glass-btn-rim{z-index:0;pointer-events:none;border-radius:9999px;position:absolute;inset:0}.glass-btn-fill{border-radius:inherit;background:radial-gradient(circle at 32% 24%, oklch(100% 0 0/.42), oklch(100% 0 0/.08) 52%, oklch(0% 0 0/.06) 100%), var(--glass);position:absolute;inset:0;box-shadow:inset 0 1px oklch(100% 0 0/.45),inset 0 -1px oklch(0% 0 0/.06),0 1px 2px oklch(0% 0 0/.08)}.glass-btn-shine{border-radius:inherit;background:linear-gradient(145deg,oklch(100% 0 0/.28) 0%,oklch(100% 0 0/.04) 38%,#0000 62%);position:absolute;inset:1px}.glass-btn-accent:active:not(:disabled) .glass-btn-fill{background:radial-gradient(circle at 32% 24%, oklch(100% 0 0/.36), oklch(64% .24 350/.14) 55%, oklch(64% .24 350/.08) 100%), var(--accent-soft)}@media (hover:hover) and (pointer:fine){.glass-btn-default:hover{color:var(--accent)}.glass-btn-accent:hover{color:var(--accent-strong)}.glass-btn:hover .glass-btn-fill{background:radial-gradient(circle at 32% 24%, oklch(100% 0 0/.5), oklch(100% 0 0/.12) 52%, oklch(0% 0 0/.04) 100%), var(--glass-hover)}.glass-btn-accent:hover .glass-btn-fill{background:radial-gradient(circle at 32% 24%, oklch(100% 0 0/.36), oklch(64% .24 350/.14) 55%, oklch(64% .24 350/.08) 100%), var(--accent-soft)}}.glass-btn-accent.glass-btn-pill{color:var(--on-accent)}.glass-btn-accent.glass-btn-pill .glass-btn-fill{background:linear-gradient(oklch(100% 0 0/.42) 0%,oklch(100% 0 0/.1) 30%,#0000 54%),radial-gradient(circle at 26% 16%,oklch(100% 0 0/.62),oklch(72% .22 350/.55) 40%,oklch(58% .26 350/.96) 100%),oklch(58% .26 350/.94);border:none;box-shadow:inset 0 -1.5px oklch(0% 0 0/.14),0 4px 16px oklch(64% .24 350/.5)}.glass-btn-accent.glass-btn-pill .glass-btn-rim{border:1px solid oklch(100% 0 0/.48);box-shadow:inset 0 2px oklch(100% 0 0/.62),0 1px oklch(100% 0 0/.28)}.glass-btn-accent.glass-btn-pill .glass-btn-shine{background:linear-gradient(145deg,oklch(100% 0 0/.55) 0%,oklch(100% 0 0/.18) 34%,#0000 60%)}@media (hover:hover) and (pointer:fine){.glass-btn-accent.glass-btn-pill:not(:disabled):hover{color:var(--on-accent)}.glass-btn-accent.glass-btn-pill:not(:disabled):hover .glass-btn-fill{background:linear-gradient(oklch(100% 0 0/.48) 0%,oklch(100% 0 0/.12) 30%,#0000 54%),radial-gradient(circle at 26% 16%,oklch(100% 0 0/.68),oklch(68% .24 350/.62) 40%,oklch(64% .24 350/.98) 100%),oklch(64% .24 350/.96);box-shadow:inset 0 -1.5px oklch(0% 0 0/.12),0 6px 18px oklch(64% .24 350/.55)}.glass-btn-accent.glass-btn-pill:not(:disabled):hover .glass-btn-rim{border-color:oklch(100% 0 0/.55);box-shadow:inset 0 2px oklch(100% 0 0/.68),0 1px oklch(100% 0 0/.32)}}.glass-btn-content{z-index:1;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.glass-btn-sm{width:2rem;height:2rem}.glass-btn-sm:active{transform:scale(.9)}.glass-btn:disabled{opacity:.4;cursor:default}.glass-btn-pill{letter-spacing:.03em;border-radius:9999px;width:auto;min-width:7rem;height:auto;padding:.62rem 1.7rem;font-size:.95rem;font-weight:500}.glass-btn-pill:active:not(:disabled){transform:scale(.96)}.glass-btn-on-media{color:oklch(100% 0 0/.9)}.glass-btn-on-media .glass-btn-fill{background:radial-gradient(circle at 32% 24%,oklch(100% 0 0/.28),oklch(100% 0 0/.06) 55%,oklch(100% 0 0/.02) 100%),oklch(100% 0 0/.14);border:1px solid oklch(100% 0 0/.16);box-shadow:inset 0 1px oklch(100% 0 0/.35),inset 0 -1px oklch(0% 0 0/.08),0 1px 2px oklch(0% 0 0/.12)}@media (hover:hover) and (pointer:fine){.glass-btn-on-media:hover .glass-btn-fill{background:radial-gradient(circle at 32% 24%,oklch(100% 0 0/.34),oklch(100% 0 0/.1) 55%,oklch(100% 0 0/.04) 100%),oklch(100% 0 0/.24)}}.glass-btn-on-media.glass-btn-pill{color:oklch(100% 0 0/.95)}.glass-btn-on-media.glass-btn-pill .glass-btn-fill{background:radial-gradient(circle at 32% 24%,oklch(100% 0 0/.14),#0000 62%),0 0;border:1.5px solid oklch(100% 0 0/.55);box-shadow:inset 0 1px oklch(100% 0 0/.2)}@media (hover:hover) and (pointer:fine){.glass-btn-on-media.glass-btn-pill:not(:disabled):hover .glass-btn-fill{background:radial-gradient(circle at 32% 24%,oklch(100% 0 0/.2),oklch(100% 0 0/.08) 58%,#0000 100%),oklch(100% 0 0/.12);border-color:oklch(100% 0 0/.8)}}.glass-btn-danger{color:oklch(100% 0 0/.9)}.glass-btn-danger .glass-btn-fill{background:radial-gradient(circle at 32% 24%,oklch(100% 0 0/.28),oklch(100% 0 0/.06) 55%,oklch(100% 0 0/.02) 100%),oklch(100% 0 0/.14);border:1px solid oklch(100% 0 0/.16)}@media (hover:hover) and (pointer:fine){.glass-btn-danger:hover{color:oklch(82% .15 18)}.glass-btn-danger:hover .glass-btn-fill{background:radial-gradient(circle at 32% 24%,oklch(82% .15 18/.35),oklch(55% .2 18/.2) 58%,oklch(55% .2 18/.12) 100%),oklch(55% .2 18/.3);border-color:oklch(82% .15 18/.35)}}.glass-btn-save{color:var(--on-accent)}.glass-btn-save .glass-btn-fill{background:radial-gradient(circle at 32% 24%, oklch(100% 0 0/.32), oklch(64% .24 350/.18) 58%, var(--accent-strong) 100%), var(--accent-strong);border:1px solid #0000;box-shadow:inset 0 1px oklch(100% 0 0/.28),0 1px 3px oklch(64% .24 350/.35)}@media (hover:hover) and (pointer:fine){.glass-btn-save:hover .glass-btn-fill{background:radial-gradient(circle at 32% 24%, oklch(100% 0 0/.36), oklch(64% .24 350/.22) 58%, var(--accent) 100%), var(--accent)}}.year-shell{background:var(--app-bg)}.year-grid-wrap{padding-inline:var(--space-inline);padding-top:max(var(--space-section), env(safe-area-inset-top));padding-bottom:calc(max(var(--space-section), env(safe-area-inset-bottom)) + 5rem);overscroll-behavior:contain;overflow-y:auto}.month-grid{gap:var(--space-grid-gap)}.year-add-fab{left:50%;bottom:calc(max(var(--space-section), env(safe-area-inset-bottom)) + 1rem);z-index:20;touch-action:manipulation;position:fixed;transform:translate(-50%)}.year-add-fab-hit{width:3.75rem;height:3.75rem;position:relative}.year-add-fab-hit .glass-btn,.year-add-fab-hit .round-btn{pointer-events:none}.year-add-fab-input{z-index:2;opacity:0;cursor:pointer;touch-action:manipulation;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.home-intro-title{z-index:200;pointer-events:none;justify-content:center;display:flex;position:fixed;top:30%;left:0;right:0;transform:translateY(-50%)}.home-intro-title-row{text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .32em;padding-inline:1.5rem;display:flex}.home-intro-word{padding-bottom:.08em;line-height:1.04;display:inline-block;overflow:hidden}.home-intro-word-inner{letter-spacing:-.025em;color:var(--text-strong);will-change:transform, filter, opacity;font-size:clamp(2.4rem,13vw,3.75rem);font-weight:600;display:inline-block}.home-start-backdrop{z-index:24;-webkit-backdrop-filter:blur(6px)saturate(.9);pointer-events:auto;background:radial-gradient(circle,oklch(0% 0 0/.12) 0%,oklch(0% 0 0/.34) 72%,oklch(0% 0 0/.42) 100%);position:fixed;inset:0}.home-start-cta{z-index:25;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.home-start-cta .glass-btn{pointer-events:auto}.month-cell{cursor:pointer}.month-cell-empty{cursor:default}.month-thumb{background:var(--surface);transform-origin:50%;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s cubic-bezier(.22,1,.36,1)}.month-cell:hover .month-thumb.photo-stamp,.month-cell:focus-visible .month-thumb.photo-stamp{z-index:10;transform:rotate(-4deg)scale(1.06)}.month-cell:nth-child(3n-1):hover .month-thumb.photo-stamp,.month-cell:nth-child(3n-1):focus-visible .month-thumb.photo-stamp{transform:rotate(3.5deg)scale(1.06)}.month-cell:nth-child(3n):hover .month-thumb.photo-stamp,.month-cell:nth-child(3n):focus-visible .month-thumb.photo-stamp{transform:rotate(-2.5deg)scale(1.06)}.month-thumb-empty{background:repeating-linear-gradient(135deg, oklch(100% 0 0/.015) 0px, oklch(100% 0 0/.015) 8px, transparent 8px, transparent 16px), var(--surface);border:1px solid var(--line-soft);border-radius:inherit}.month-cell-empty .month-thumb{box-shadow:none}.month-count{font-variant-numeric:tabular-nums;text-align:center;min-width:1.4rem;color:var(--on-media-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(0% 0 0/.5);border-radius:9999px;padding:.05rem .4rem;font-size:.7rem;font-weight:600;position:absolute;top:.55rem;right:.55rem}.month-view{color:var(--on-media-text);will-change:opacity, transform;background:oklch(0% 0 0);overflow:hidden}.month-story-stage{--stamp-pad:0px;touch-action:pan-y;position:absolute;inset:0;overflow:hidden}.month-story-media{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.memory-media-video-thumb{pointer-events:none}.month-thumb .memory-media-video-thumb{background:oklch(0% 0 0/.35)}.month-thumb:has(.memory-media-video-thumb):after{content:"";filter:drop-shadow(0 2px 6px oklch(0% 0 0/.45));pointer-events:none;border:.5rem solid #0000;border-left:.85rem solid oklch(100% 0 0/.9);border-right-width:0;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-40%,-50%)}.story-chrome{z-index:10;pointer-events:none;position:absolute;inset-inline:0}.story-chrome-top{padding-top:max(.65rem, env(safe-area-inset-top));padding-inline:var(--space-inline-lg);padding-bottom:2.75rem;top:0}.story-chrome-top:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(oklch(0% 0 0/.55) 0%,oklch(0% 0 0/.28) 55%,#0000 100%);position:absolute;inset:0}.story-bars{pointer-events:auto;gap:3px;display:flex}.story-bar{cursor:pointer;background:oklch(100% 0 0/.35);border:0;border-radius:9999px;flex:1;height:2.5px;padding:0;overflow:hidden}.story-bar-fill{border-radius:inherit;background:oklch(100% 0 0);width:0%;height:100%;transition:width .2s;display:block}.story-bar-fill.is-filled{width:100%}.story-top-row{pointer-events:auto;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.story-back-btn{color:var(--on-media-text);flex-shrink:0;justify-content:center;align-items:center;margin-left:-.35rem;padding:.35rem;transition:opacity .16s;display:inline-flex}.story-back-btn:active{opacity:.65}.story-top-title{letter-spacing:-.01em;min-width:0;color:var(--on-media-text);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 6px oklch(0% 0 0/.45);flex:1;margin:0;font-size:1.15rem;font-weight:600;line-height:1.2;overflow:hidden}.story-top-year{color:var(--on-media-text-soft);font-weight:500}.month-story-caption{--description-height:0px;z-index:6;isolation:isolate;padding-top:clamp(2.25rem, calc(var(--description-height) + 1.75rem), 8rem);padding-bottom:max(1.25rem, env(safe-area-inset-bottom));pointer-events:none;inset-inline:0;position:absolute;bottom:0}.month-story-caption:before{content:"";z-index:-1;height:calc(100% + clamp(2rem, var(--description-height), 9rem));pointer-events:none;inset-inline:0;background:linear-gradient(#0000 0%,oklch(0% 0 0/.28) 22%,oklch(0% 0 0/.72) 52%,oklch(0% 0 0/.9) 100%);position:absolute;bottom:0}.story-caption-title,.story-caption-text{width:100%;margin:0;padding:0;display:block}.story-caption-title{letter-spacing:-.01em;color:var(--on-media-text);font-size:clamp(1.25rem,5vw,1.5rem);font-weight:600;line-height:1.3}.story-caption-text{white-space:pre-wrap;overflow-wrap:anywhere;min-height:2.5rem;color:var(--on-media-text-soft);margin-top:.35rem;font-size:.875rem;line-height:1.5rem}.story-hit-zone{z-index:4;cursor:pointer;width:30%;position:absolute;top:0;bottom:0}.story-hit-zone:disabled{cursor:default}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.month-hero{background:var(--surface)}.month-hero-veil{background:linear-gradient(#0000 0%,oklch(0% 0 0/.4) 45%,oklch(0% 0 0/.78) 100%)}.month-hero-title{color:var(--on-media-text)}.month-hero-sub{color:var(--on-media-text-soft)}.month-photo{--stamp-r:2px;--stamp-p:8px;transform-origin:50%;background:0 0;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s cubic-bezier(.22,1,.36,1)}.month-photo-grid{background:var(--photo-frame-bg);gap:1px}.month-photo-cell{background:var(--photo-cell-bg);min-width:0;padding:clamp(.75rem,4vw,1.5rem)}.month-photo:hover,.month-photo:focus-visible{z-index:10;filter:drop-shadow(0 16px 30px oklch(0% 0 0/.55));transform:rotate(-4deg)scale(1.06)}.month-photo-cell:nth-child(3n-1) .month-photo:hover,.month-photo-cell:nth-child(3n-1) .month-photo:focus-visible{transform:rotate(3.5deg)scale(1.06)}.month-photo-cell:nth-child(3n) .month-photo:hover,.month-photo-cell:nth-child(3n) .month-photo:focus-visible{transform:rotate(-2.5deg)scale(1.06)}.photo-stamp{--stamp-r:3.5px;--stamp-p:12px;--stamp-pad:0px;padding:var(--stamp-pad);-webkit-mask:radial-gradient(var(--stamp-r) at 50% 0, #0000 97%, #000) repeat-x 0 0 / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 50% 100%, #0000 97%, #000) repeat-x 0 100% / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 0 50%, #0000 97%, #000) repeat-y 0 0 / 100% var(--stamp-p), radial-gradient(var(--stamp-r) at 100% 50%, #0000 97%, #000) repeat-y 100% 0 / 100% var(--stamp-p);-webkit-mask-composite:source-in;-webkit-mask:radial-gradient(var(--stamp-r) at 50% 0, #0000 97%, #000) repeat-x 0 0 / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 50% 100%, #0000 97%, #000) repeat-x 0 100% / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 0 50%, #0000 97%, #000) repeat-y 0 0 / 100% var(--stamp-p), radial-gradient(var(--stamp-r) at 100% 50%, #0000 97%, #000) repeat-y 100% 0 / 100% var(--stamp-p);-webkit-mask:radial-gradient(var(--stamp-r) at 50% 0, #0000 97%, #000) repeat-x 0 0 / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 50% 100%, #0000 97%, #000) repeat-x 0 100% / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 0 50%, #0000 97%, #000) repeat-y 0 0 / 100% var(--stamp-p), radial-gradient(var(--stamp-r) at 100% 50%, #0000 97%, #000) repeat-y 100% 0 / 100% var(--stamp-p);-webkit-mask:radial-gradient(var(--stamp-r) at 50% 0, #0000 97%, #000) repeat-x 0 0 / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 50% 100%, #0000 97%, #000) repeat-x 0 100% / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 0 50%, #0000 97%, #000) repeat-y 0 0 / 100% var(--stamp-p), radial-gradient(var(--stamp-r) at 100% 50%, #0000 97%, #000) repeat-y 100% 0 / 100% var(--stamp-p);mask:radial-gradient(var(--stamp-r) at 50% 0, #0000 97%, #000) repeat-x 0 0 / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 50% 100%, #0000 97%, #000) repeat-x 0 100% / var(--stamp-p) 100%, radial-gradient(var(--stamp-r) at 0 50%, #0000 97%, #000) repeat-y 0 0 / 100% var(--stamp-p), radial-gradient(var(--stamp-r) at 100% 50%, #0000 97%, #000) repeat-y 100% 0 / 100% var(--stamp-p);filter:drop-shadow(0 8px 20px oklch(0% 0 0/.45));-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;background:0 0;-webkit-mask-composite:source-in;mask-composite:intersect}.photo-stamp>img{display:block}.photo-retro>img{filter:sepia(.12)saturate(.92)contrast(1.03)brightness(.99)}.photo-retro:before{content:"";inset:var(--stamp-pad);pointer-events:none;z-index:1;mix-blend-mode:soft-light;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:150px 150px;position:absolute}.photo-retro:after{content:"";inset:var(--stamp-pad);pointer-events:none;z-index:1;mix-blend-mode:multiply;background:radial-gradient(130% 130% at 50% 42%,#0000 62%,oklch(22% .04 60/.22) 100%),linear-gradient(oklch(80% .06 70/.06),oklch(60% .05 50/.07));position:absolute}@keyframes month-in{0%{opacity:0;transform:scale(.985)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes month-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.99)translateY(8px)}}.month-view-open{animation:.36s cubic-bezier(.22,1,.36,1) both month-in}.month-view-close{animation:.32s cubic-bezier(.4,0,1,1) both month-out}.month-view-open .month-hero{animation:.5s cubic-bezier(.22,1,.36,1) both month-in}.month-view-open .month-photo-cell{opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) 80ms both month-in}.modal-surface{border-color:var(--line-soft);background:var(--surface);box-shadow:var(--shadow-soft)}.toolbar-icon{color:var(--text-muted)}.toolbar-icon:hover{color:var(--text-soft)}.image-well{background:var(--surface-soft)}.form-field{border-color:var(--line-soft);background:var(--surface-raised);color:var(--text-strong)}.form-field::placeholder{color:var(--text-faint)}.form-field:focus{border-color:var(--accent);outline:none}.primary-action{background:var(--accent-strong);color:var(--on-accent)}.primary-action:hover{background:var(--accent)}.delete-action{color:var(--text-faint)}.delete-action:hover{color:oklch(72% .16 18)}@keyframes modal-backdrop{0%{opacity:0}to{opacity:1}}.modal-backdrop{-webkit-backdrop-filter:blur(14px)saturate(.85);backdrop-filter:blur(14px)saturate(.85);background:oklch(0% 0 0/.68);animation:.2s ease-out both modal-backdrop}.modal-backdrop-glass{-webkit-backdrop-filter:blur(3px)saturate(1.05);background:oklch(0% 0 0/.32)}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}.backdrop-exit{animation:.26s ease-in both backdrop-out}@keyframes gallery-modal-in{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes gallery-modal-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.98)translateY(6px)}}.gallery-modal-enter{will-change:transform, opacity;animation:.28s cubic-bezier(.22,1,.36,1) both gallery-modal-in}.gallery-modal-exit{will-change:transform, opacity;animation:.24s cubic-bezier(.4,0,1,1) both gallery-modal-out}.gallery-modal-shell{transform-origin:50%}.gallery-modal-shell:not(.inset-x-0){inset-inline:var(--space-modal-inset)}.gallery-modal-shell-compact{justify-content:center}.gallery-modal-shell-compact:not(.inset-x-0){width:min(26rem, calc(100% - 2 * var(--space-modal-inset)));margin-inline:auto;inset-inline:0}.modal-surface-soft{background:radial-gradient(circle at 50% 0%, var(--modal-soft-glow), transparent 30rem), linear-gradient(180deg, var(--modal-soft-base-1), var(--modal-soft-base-2))}.modal-surface-glass{-webkit-backdrop-filter:blur(12px)saturate(1.1);background:oklch(99% 0 0/.94);border:1px solid oklch(100% 0 0/.45);position:relative;box-shadow:0 24px 60px oklch(0% 0 0/.24),inset 0 1px oklch(100% 0 0/.65)}.modal-glass-header:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,oklch(100% 0 0/.6) 18% 82%,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal-surface-glass{background:oklch(99% 0 0/.99)}}.upload-card{--upload-inset:.5rem;--upload-footer-pad:var(--upload-inset);flex-direction:column;display:flex}.upload-hero{padding:var(--upload-inset) var(--upload-inset) 0;position:relative}.upload-hero-media{aspect-ratio:5/4;object-fit:cover;background:oklch(0% 0 0/.12);border-radius:.85rem;width:100%;display:block}.upload-count{left:calc(var(--upload-inset) + .35rem);font-variant-numeric:tabular-nums;color:var(--on-media-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(0% 0 0/.45);border-radius:9999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600;position:absolute;bottom:.85rem}.upload-close{top:calc(var(--upload-inset) + .35rem);right:calc(var(--upload-inset) + .35rem);width:1.9rem;height:1.9rem;color:var(--on-media-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:oklch(0% 0 0/.4);border:0;border-radius:9999px;justify-content:center;align-items:center;transition:background .18s,transform .18s;display:flex;position:absolute}.upload-close:hover{background:oklch(0% 0 0/.58)}.upload-close:active{transform:scale(.92)}.upload-body{padding:var(--upload-inset) var(--upload-inset) var(--upload-footer-pad);flex-direction:column;gap:0;display:flex}.upload-title-input,.upload-note-input{background:var(--surface-soft);width:100%;color:var(--text-strong);resize:none;border:0;border-radius:.65rem;padding:.55rem .75rem;line-height:1.4}.upload-title-input:focus,.upload-note-input:focus{outline:none}.upload-title-input{letter-spacing:-.01em;font-size:1.0625rem;font-weight:600}.upload-note-input{margin-top:.45rem;font-size:.9375rem}.upload-title-input::placeholder,.upload-note-input::placeholder{color:var(--text-faint);font-weight:400}.upload-meta-row{margin-top:var(--upload-footer-pad);justify-content:space-between;align-items:center;gap:.75rem;display:flex}.upload-date{min-width:0;color:var(--text-soft);align-items:center;gap:.35rem;padding-left:.6rem;display:inline-flex}.upload-date-trigger{color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;margin:-.2rem;padding:.2rem;transition:color .18s;display:inline-flex}.upload-date-trigger:hover:not(:disabled){color:var(--text-strong)}.upload-date-trigger:disabled{cursor:not-allowed;opacity:.5}.upload-date-value{color:var(--text-soft);cursor:pointer;text-align:left;background:0 0;border:0;min-width:0;padding:.25rem 0;font-size:.875rem;transition:color .18s}.upload-date-value:hover:not(:disabled){color:var(--text-strong)}.upload-date-value:disabled{cursor:not-allowed;opacity:.5}.upload-date-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-date-refining{background:var(--accent);border-radius:9999px;width:.45rem;height:.45rem;animation:1.1s ease-in-out infinite upload-refine-pulse}@keyframes upload-refine-pulse{0%,to{opacity:.25}50%{opacity:1}}.soft-close-button{color:var(--text-soft);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.soft-close-button:hover{color:var(--text-strong);background:var(--glass-hover)}@keyframes panel-forward{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes panel-back{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.sheet-panel-forward{animation:.26s cubic-bezier(.22,1,.36,1) both panel-forward}.sheet-panel-back{animation:.26s cubic-bezier(.22,1,.36,1) both panel-back}.memory-image{background:var(--surface-soft);justify-content:center;align-items:center;display:flex}.memory-image.photo-stamp{background:0 0}.memory-image-hero{background:var(--field-flat);filter:drop-shadow(0 24px 50px oklch(0% 0 0/.42));border-radius:.75rem}.memory-image-compact{max-height:min(56svh,520px)}.memory-image-expanded{max-height:min(78svh,720px)}.memory-image img{max-width:100%;max-height:inherit;object-fit:contain}.memory-detail-content .form-field{background:var(--field-flat);border-color:#0000}.memory-detail-content .form-field:focus{background:var(--field-flat-focus);border-color:#0000}@keyframes detail-meta-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.detail-meta-enter{will-change:transform, opacity;animation:.28s cubic-bezier(.22,1,.36,1) 60ms both detail-meta-in}.paper-texture{--paper-base:#f3ead6;--paper-edge:#e7d9bb;--paper-ink:#3a2f23;--paper-ink-soft:#5b4a36;background-color:var(--paper-base);background-blend-mode:multiply, multiply, soft-light, normal;color:var(--paper-ink);background-image:radial-gradient(120% 90% at 0 0,oklch(72% .07 75/.18),#0000 45%),radial-gradient(120% 90% at 100% 100%,oklch(60% .08 55/.18),#0000 45%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='0.5'/%3E%3C/svg%3E"),linear-gradient(#f6eedb,#efe3c9);background-size:auto,auto,180px 180px,auto}.letter-thumb{background:0 0}.letter-thumb-paper{border-radius:inherit;border:1px solid var(--paper-edge);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:inset 0 1px oklch(100% 0 0/.4),0 8px 20px oklch(0% 0 0/.35)}.letter-thumb-paper:after{content:"";pointer-events:none;border:1px dashed oklch(40% .04 70/.28);border-radius:6px;position:absolute;inset:12% 10%}.letter-thumb-to{z-index:1;color:var(--paper-ink);text-shadow:0 1px oklch(100% 0 0/.35);font-family:Caveat,Klee One,cursive;font-size:clamp(1.9rem,9vw,2.9rem);font-weight:600;line-height:1;position:relative;transform:rotate(-5deg)}.letter-cell:hover .letter-thumb,.letter-cell:focus-visible .letter-thumb{z-index:10;transform:rotate(-3deg)scale(1.06)}.letter-thumb{transform-origin:50%;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s cubic-bezier(.22,1,.36,1)}.letter-view{will-change:opacity, transform}.letter-view-back{top:max(.75rem, env(safe-area-inset-top));left:var(--space-inline);z-index:10;pointer-events:none;position:fixed}.letter-view-back .glass-btn,.letter-view-back .round-btn{pointer-events:auto}.letter-scroll{overscroll-behavior:contain;padding-inline:var(--space-inline);padding-top:calc(max(.75rem, env(safe-area-inset-top)) + 2.75rem);padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.letter-paper{background-image:repeating-linear-gradient(#0000 0 1.7rem,oklch(45% .05 250/.07) 1.7rem calc(1.7rem + 1px));background-size:100% 1.7rem;width:100%;max-width:36rem;margin-inline:auto;padding-bottom:clamp(1rem,3vw,1.5rem)}.letter-date{text-align:right;color:var(--paper-ink-soft);margin:0 0 1rem;font-family:Caveat,Klee One,cursive;font-size:1.1rem}.letter-salutation{color:var(--paper-ink);margin:0 0 .75rem;font-family:Klee One,Caveat,cursive;font-size:clamp(1.25rem,4.5vw,1.45rem);font-weight:700;line-height:1.35}.letter-body{color:var(--paper-ink);font-family:Klee One,Caveat,cursive;font-size:clamp(.9rem,3vw,1rem);line-height:1.7}.letter-body p{margin:0 0 .9rem}.letter-signoff{color:var(--paper-ink);margin-top:1.25rem;font-family:Klee One,Caveat,cursive}.letter-signoff-line{margin:0}.letter-signature{margin:.9rem 0 0}.letter-signoff-line,.letter-signature{font-size:clamp(.9rem,3vw,1rem);font-weight:400;line-height:1.7}@keyframes letter-in{0%{opacity:0;transform:scale(.985)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes letter-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.99)translateY(8px)}}.letter-view-open{animation:.42s cubic-bezier(.22,1,.36,1) both letter-in}.letter-view-open .letter-paper{animation:.55s cubic-bezier(.22,1,.36,1) 60ms both letter-in}.letter-view-close{animation:.32s cubic-bezier(.4,0,1,1) both letter-out}.letter-voice{background:oklch(100% 0 0/.18);border:1px dashed oklch(40% .04 70/.3);border-radius:6px;margin:0 0 1rem;padding:.65rem .75rem .6rem}.letter-voice-label{color:var(--paper-ink-soft);margin:0 0 .5rem;font-family:Klee One,Caveat,cursive;font-size:.9rem;font-weight:600}.letter-voice-row{align-items:center;gap:.55rem;display:flex}.letter-voice-play{width:2rem;height:2rem;color:var(--paper-ink);background:linear-gradient(oklch(99% .01 85),oklch(94% .02 80));border:1px solid oklch(40% .06 70/.28);border-radius:999px;flex-shrink:0;place-items:center;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .2s;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.55)}.letter-voice-play:not(:disabled):hover{transform:scale(1.04)}.letter-voice-play:not(:disabled):active{transform:scale(.97)}.letter-voice-play:disabled{opacity:.55;cursor:not-allowed}.letter-voice-play:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.letter-voice-track-wrap{flex:1;min-width:0;height:1.75rem;position:relative}.letter-voice-bars{pointer-events:none;justify-content:space-between;align-items:flex-end;gap:2px;display:flex;position:absolute;inset:.35rem 0 .55rem}.letter-voice-bar{max-width:4px;height:var(--bar-h,40%);background:oklch(45% .05 70 / calc(.18 + var(--bar-lit,0) * .42));border-radius:999px;flex:1;transition:background .15s}.letter-voice-scrub{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.letter-voice-scrub:disabled{cursor:not-allowed}.letter-voice-time{font-variant-numeric:tabular-nums;min-width:2.25rem;color:var(--paper-ink-soft);text-align:right;flex-shrink:0;font-family:Klee One,Caveat,cursive;font-size:.85rem}.letter-voice-hint{color:oklch(45% .05 70/.75);margin:.4rem 0 0;font-family:Klee One,Caveat,cursive;font-size:.8rem}.sticky-note{background:linear-gradient(158deg, var(--note-bg,#fff39b) 0%, var(--note-bg,#fff39b) 44%, var(--note-edge,#ffe14e) 100%);justify-content:center;align-items:center;padding:.55rem;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.sticky-note{background:linear-gradient(158deg, color-mix(in oklab, var(--note-bg,#fff39b) 88%, white) 0%, var(--note-bg,#fff39b) 44%, var(--note-edge,#ffe14e) 100%)}}.sticky-note{color:var(--note-ink,#5c4a16);font-family:Caveat,Klee One,cursive}.sticky-note-text{color:var(--note-ink,#5c4a16);text-align:center;white-space:pre-wrap;overflow-wrap:break-word;font-family:Caveat,Klee One,cursive;font-weight:600;line-height:1.08}.sticky-note-tape{pointer-events:none;background:oklch(100% 0 0/.34);border:1px solid oklch(100% 0 0/.18);width:88px;height:22px;transition:opacity .16s;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-1.5deg);box-shadow:0 2px 6px oklch(0% 0 0/.12)}.sticky-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.sticky-note-stuck{pointer-events:auto;transform:translate(-50%, -50%) rotate(var(--rot,0deg));cursor:grab;touch-action:none;border-radius:2px;padding:9px 8px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s;animation:.44s cubic-bezier(.34,1.56,.64,1) backwards sticky-pop;position:absolute;overflow:hidden;box-shadow:0 1px 1px oklch(0% 0 0/.06),0 9px 18px -7px oklch(0% 0 0/.5)}.sticky-note-stuck.no-pop{animation:none}.sticky-note-stuck .sticky-note-text{box-sizing:border-box;width:100%;max-height:4.32em;padding-inline:.2em;font-size:1.12rem;overflow:hidden}@media (hover:hover) and (pointer:fine){.sticky-note-stuck:hover{transform:translate(-50%, -50%) scale(1.07) rotate(var(--rot,0deg));z-index:2;box-shadow:0 2px 2px oklch(0% 0 0/.07),0 16px 28px -8px oklch(0% 0 0/.55)}}.sticky-note-stuck:active{transform:translate(-50%, -50%) scale(.95) rotate(var(--rot,0deg))}.sticky-note-stuck.is-dragging{cursor:grabbing;z-index:10;touch-action:none;transform:translate(-50%, -50%) scale(1.05) rotate(var(--rot,0deg));transition:none;box-shadow:0 2px 2px oklch(0% 0 0/.08),0 18px 32px -8px oklch(0% 0 0/.58)}@keyframes sticky-pop{0%{opacity:0;transform:translate(-50%, -50%) scale(.5) rotate(calc(var(--rot,0deg) - 14deg))}to{opacity:1;transform:translate(-50%, -50%) scale(1) rotate(var(--rot,0deg))}}.note-pad-wrap{z-index:7;filter:drop-shadow(-4px -4px 12px oklch(0% 0 0/.4));width:104px;height:104px;transition:transform .22s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;right:0;transform:translate(56%,58%)}.note-pad{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.note-pad-sheet{transform-origin:100% 100%;background:linear-gradient(158deg,#fff7b0 0%,#ffe14e 100%);border-radius:4px;position:absolute;inset:0}.note-pad-sheet-3{background:linear-gradient(158deg,#c2f1d2 0%,#8ee3ad 100%);transform:rotate(-23deg)}.note-pad-sheet-2{background:linear-gradient(158deg,#ffd7b2 0%,#ffbb84 100%);transform:rotate(-11deg)}.note-pad-sheet-1{transform:rotate(0)}.note-pad-plus{display:none}.note-pad-wrap:active{transform:translate(52%,54%)scale(.97)}@media (hover:hover) and (pointer:fine){.note-pad-wrap:hover{transform:translate(46%,48%)}}.note-composer-overlay{z-index:90;-webkit-backdrop-filter:blur(14px)saturate(.9);backdrop-filter:blur(14px)saturate(.9);background:oklch(0% 0 0/.42);justify-content:center;align-items:center;padding:1.5rem;animation:.28s ease-out both note-backdrop-in;display:flex;position:fixed;inset:0}.note-composer-overlay.is-flying{-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:none;background:oklch(0% 0 0/0);transition:background .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s}@keyframes note-backdrop-in{0%{opacity:0}to{opacity:1}}.note-composer-stage{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.note-composer-tools{flex-direction:column;align-items:center;gap:1.25rem;transition:opacity .2s,transform .2s;display:flex}.note-composer-overlay.is-flying .note-composer-tools{opacity:0;transform:translateY(10px)}.sticky-note-compose{border-radius:3px;width:min(62vw,14.5rem);height:min(62vw,14.5rem);padding:1.6rem 1.3rem 1.3rem;animation:.44s cubic-bezier(.34,1.56,.64,1) both note-peel-in;transform:rotate(-3deg);box-shadow:0 2px 2px oklch(0% 0 0/.08),0 28px 52px -12px oklch(0% 0 0/.55)}@keyframes note-peel-in{0%{opacity:0;transform:translateY(42px)scale(.5)rotate(-12deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(-3deg)}}.sticky-note-input{resize:none;text-align:center;width:100%;height:100%;color:var(--note-ink,#5c4a16);background:0 0;border:0;outline:none;font-family:Caveat,Klee One,cursive;font-size:1.95rem;font-weight:600;line-height:1.12}.sticky-note-input::placeholder{color:var(--note-ink,#5c4a16)}@supports (color:color-mix(in lab, red, red)){.sticky-note-input::placeholder{color:color-mix(in oklab, var(--note-ink,#5c4a16) 42%, transparent)}}.sticky-note-fly-text{padding:var(--fly-pad,.6rem);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .16s;display:flex;position:absolute;inset:0}.sticky-note-fly-text .sticky-note-text{font-size:var(--fly-font,1.95rem);box-sizing:border-box;width:100%;max-height:4.32em;padding-inline:.2em;overflow:hidden}.sticky-note-compose .sticky-note-input{transition:opacity .16s}.sticky-note-compose.is-flying .sticky-note-input,.sticky-note-compose.is-flying .sticky-note-tape{opacity:0}.sticky-note-compose.is-flying .sticky-note-fly-text{opacity:1}.note-swatches{gap:.65rem;display:flex}.note-swatch{background:linear-gradient(158deg, var(--swatch), var(--swatch-edge));border-radius:9999px;width:26px;height:26px;transition:transform .16s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 6px oklch(0% 0 0/.4)}.note-swatch.is-selected{transform:scale(1.2);box-shadow:0 0 0 2px oklch(100% 0 0/.92),0 2px 8px oklch(0% 0 0/.45)}.note-swatch:active{transform:scale(.9)}.note-stick-btn{color:oklch(100% 0 0/.95);letter-spacing:.03em;background:0 0;border:1.5px solid oklch(100% 0 0/.55);border-radius:9999px;justify-content:center;align-items:center;min-width:7rem;padding:.62rem 1.7rem;font-size:.95rem;font-weight:500;transition:transform .16s,opacity .16s,background .16s,border-color .16s;display:inline-flex}.note-stick-btn:disabled{opacity:.4}@media (hover:hover) and (pointer:fine){.note-stick-btn:not(:disabled):hover{background:oklch(100% 0 0/.12);border-color:oklch(100% 0 0/.8)}}.note-stick-btn:not(:disabled):active{transform:scale(.96)}.note-stick-btn-accent{background:var(--accent-strong);color:var(--on-accent);border:1px solid oklch(100% 0 0/.45);box-shadow:inset 0 1px oklch(100% 0 0/.5),0 4px 14px oklch(64% .24 350/.45)}@media (hover:hover) and (pointer:fine){.note-stick-btn-accent:not(:disabled):hover{background:var(--accent);border-color:#0000}}.note-reader-overlay{z-index:88;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:oklch(0% 0 0/.46);justify-content:center;align-items:center;padding:2rem;animation:.24s ease-out both note-backdrop-in;display:flex;position:fixed;inset:0}.note-reader-stage{flex-direction:column;align-items:center;gap:1.15rem;display:flex}.sticky-note-reading{width:min(74vw,280px);min-height:min(74vw,280px);transform:rotate(var(--rot,0deg));border-radius:3px;padding:1.85rem 1.6rem;animation:.32s cubic-bezier(.34,1.56,.64,1) both note-read-in;box-shadow:0 2px 2px oklch(0% 0 0/.08),0 30px 60px -14px oklch(0% 0 0/.6)}.note-reader-tools{gap:.55rem;animation:.26s cubic-bezier(.22,1,.36,1) 60ms both note-tools-in;display:flex}@keyframes note-tools-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.note-mini-btn{color:oklch(100% 0 0/.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:oklch(100% 0 0/.14);border:1px solid oklch(100% 0 0/.16);border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background .16s,color .16s,transform .16s;display:inline-flex}.note-mini-btn:active{transform:scale(.9)}@media (hover:hover) and (pointer:fine){.note-mini-btn:hover{background:oklch(100% 0 0/.24)}.note-mini-danger:hover{color:oklch(82% .15 18);background:oklch(55% .2 18/.3)}}.note-mini-save{color:var(--on-accent);background:var(--accent-strong);border-color:#0000}@media (hover:hover) and (pointer:fine){.note-mini-save:hover{background:var(--accent)}}.sticky-note-reading .sticky-note-text{font-size:1.95rem;line-height:1.2}@keyframes note-read-in{0%{opacity:0;transform:scale(.82) rotate(var(--rot,0deg))}to{opacity:1;transform:scale(1) rotate(var(--rot,0deg))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}
