/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--rim-angle:0deg}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--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{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.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,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--ink:#45445f;--muted:#66617b;--pearl:#f1f0f8;--accent:#706a98;--line:#6456802b;--glass:#fff9ff47;--glass-reading:linear-gradient(135deg,#fffbff9c,#f0eafb7d);--glass-border:#ffffffa3;--glass-shadow:inset 0 1px 1px #ffffffa6,0 12px 36px #64516f1a;--glass-blur:blur(14px) saturate(1.02);--radius-surface:32px;--ease-water:cubic-bezier(.2,.75,.25,1);--serif:Georgia,"Songti SC","STSong",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{color:var(--ink);font:14px var(--sans);-webkit-font-smoothing:antialiased;background:#e2deed;margin:0}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;background:0 0;border:0}a,button{color:inherit}a{text-decoration:none}button:disabled{opacity:.3;cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1:focus{outline:none}h1,h2,p{margin:0}a svg,button svg{flex-shrink:0}.island{isolation:isolate;background:#dddff0;max-width:520px;min-height:100svh;margin:auto;position:relative;overflow:clip;box-shadow:0 0 100px #a8a3bd40}.artwork{z-index:-1;background:linear-gradient(160deg,#c9cdea,#e5d6ed 52%,#f3e8e5);position:absolute;inset:0;overflow:hidden}.artwork>img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;animation:scene-arrive 1s var(--ease-water) both,island-current 24s ease-in-out infinite alternate}.art-glow{pointer-events:none;background:radial-gradient(at 23% 58%,#fff5da4d,#0000 42%);animation:mist-current 18s ease-in-out infinite alternate;position:absolute;inset:-5%}.art-veil{background:linear-gradient(#f6f4fb45,#f6f4fb08 32%,#0000 56%,#f4f2f952 80%,#ebe6f3ae);position:absolute;inset:0}.art-fallback{text-align:center;width:100%;color:var(--muted);font-size:12px;position:absolute;top:48%}.page-content{min-height:100svh;padding:max(env(safe-area-inset-top),20px) 24px max(env(safe-area-inset-bottom),18px);flex-direction:column;display:flex;position:relative}.topbar{flex:none;justify-content:space-between;gap:12px;min-height:44px}.topbar,.topbar-actions{align-items:center;display:flex}.topbar-actions{gap:10px}.wordmark{text-align:center;justify-items:center;gap:6px;padding:4px 0;display:grid}.wordmark .luma-wordmark{width:102px;height:38px;display:block}.wordmark span{letter-spacing:.23em;font-size:7px}.brand-symbol{text-align:center;width:44px;font-size:32px;font-weight:200}.icon-button{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid #ffffff7a;border-radius:50%;box-shadow:inset 0 1px 1px #ffffff91}.icon-button,.text-button{min-width:44px;min-height:44px;justify-content:center;align-items:center;display:inline-flex}.text-button{white-space:nowrap;gap:8px;font-size:12px}.eyebrow{letter-spacing:.16em;font-size:10px;line-height:1.8}.primary,.secondary{border:1px solid var(--glass-border);letter-spacing:.08em;min-height:52px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#fff9ff66;border-radius:50px;justify-content:center;align-items:center;gap:12px;padding:14px 23px;font-size:13px;display:flex}.primary svg{margin-left:0}.secondary{background:#fff9ff2e}.days-grid button,.icon-button,.page-turner>button,.primary,.ritual-picker button,.secondary{transition:transform .4s var(--ease-water),background .4s,box-shadow .4s}.icon-button:active,.page-turner>button:active,.primary:active,.ritual-picker button:active,.secondary:active{transform:scale(.96)}.micro{color:var(--muted);text-align:center;letter-spacing:.04em;font-size:11px;line-height:1.9}@property --rim-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.luma-surface{isolation:isolate;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-surface);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:relative}.luma-surface:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(220px circle at var(--light-x,50%) var(--light-y,30%),#ffffff5c,transparent 75%);opacity:0;transition:opacity .6s var(--ease-water);position:absolute;inset:0}.luma-surface[data-lit]:before{opacity:1}@supports (mask-composite:exclude){.luma-surface:after{content:"";border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--rim-angle),transparent 200deg,#fff2 235deg,#fffffff0 266deg,#cabbeb99 282deg,transparent 312deg);opacity:.85;padding:1px;animation:rim-flow 12s linear infinite;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}}.today-main{flex-direction:column;flex:1;display:flex}.view-today .daily-book{padding-top:12px}.book-context{letter-spacing:.06em;justify-content:space-between;align-items:center;gap:10px;min-height:44px;font-size:11px;display:flex}.book-context>span:last-child{color:var(--muted);font-size:11px}.book-context .text-button{font-size:11px}.book-preview{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;line-height:1.7;display:flex}.badge{letter-spacing:.08em;background:#f8f6fc55;border:1px solid #fff9;border-radius:20px;padding:5px 8px;font-size:11px}.day-sheet{background:var(--glass-reading);animation:page-flow .5s var(--ease-water) both;border-radius:32px 32px 48px;padding:22px 26px 20px}.sheet-date-line{letter-spacing:.04em;color:var(--muted);border-bottom:1px solid #ffffff91;gap:12px;padding-bottom:14px;font-size:12px}.sheet-date,.sheet-date-line{justify-content:space-between;display:flex}.sheet-date{align-items:center;margin:16px 0 10px}.sheet-date h1{font:400 84px/.95 var(--serif);letter-spacing:-.06em}.sheet-date>div{font:18px var(--serif);flex-direction:column;align-items:flex-end;gap:10px;display:flex}.sheet-date small{font:11px var(--sans);letter-spacing:.04em;color:var(--muted)}.sheet-theme{align-items:center;gap:13px;margin:22px 0 15px;display:flex}.day-seal{width:44px;height:44px;font:23px var(--serif);color:#685a81;background:#e4daef78;border:1px solid #ffffffe0;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:inset 0 1px 4px #fff9,0 4px 14px #8b71901a}.day-seal.avoid{color:#7a6076;background:#eddae67a}.sheet-theme h2{font:400 30px/1.4 var(--serif);letter-spacing:.08em;text-wrap:balance}.sheet-category{color:var(--muted);letter-spacing:.12em;font-size:12px}.day-sheet .daily-note{font:18px/1.9 var(--serif);letter-spacing:.015em;text-wrap:pretty;margin:9px 0 20px}.day-action{border-top:1px solid #ffffffad;align-items:baseline;gap:12px;padding-top:14px;display:flex}.day-action>span{color:var(--muted);white-space:nowrap;font-size:12px}.day-action p{font-size:12px;line-height:1.8}.sheet-colophon{color:var(--muted);flex-wrap:wrap;gap:6px;margin-top:18px;font-size:11px;line-height:1.8}.page-turner,.sheet-colophon{justify-content:space-between;display:flex}.page-turner{align-items:center;gap:4px;padding-top:16px}.page-turner>button{border-radius:24px;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:0 8px;font-size:11px;display:flex}.page-turner>.text-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff5;border:1px solid #ffffff70;gap:6px;padding:0 15px;font-size:11px}.ritual-link{text-align:left;align-items:center;gap:10px;width:100%;min-height:52px;padding:9px 4px;font-size:11px;line-height:1.7;display:flex}.ritual-link>svg{margin-left:auto}.ritual-symbol{font-size:26px;line-height:1}.bottom-nav{z-index:3;background:#fff9ff66;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px;padding:5px;display:grid}.bottom-nav,.bottom-nav button{border-radius:999px;position:relative}.bottom-nav button{color:#635d78;justify-content:center;align-items:center;gap:6px;min-height:46px;font-size:12px;transition:color .4s;display:flex}.bottom-nav button[aria-current]{color:#49405f}.nav-current{width:calc(33.3333% - 3.33333px);transition:transform .55s var(--ease-water);background:#ede1f4a6;border:1px solid #ffffffbd;border-radius:999px;position:absolute;top:5px;bottom:5px;left:5px;box-shadow:inset 0 1px 2px #ffffffa6,0 2px 12px #8a72921a}.bottom-nav[data-view=month] .nav-current{transform:translate(100%)}.bottom-nav[data-view=play] .nav-current{transform:translate(200%)}.month-main{flex-direction:column;flex:1;padding-top:24px;display:flex}.date-label{flex-wrap:wrap;gap:10px}.date-label,.month-heading{align-items:center;display:flex}.month-heading{justify-content:space-between;margin-top:12px}.month-heading h1{font:400 48px/1.1 var(--serif)}.month-heading h1 span{font:9px var(--sans);letter-spacing:.12em;margin-top:10px;display:block}.month-heading p{margin-top:15px;font-size:12px}.month-controls{gap:5px;display:flex}.month-index{scrollbar-width:none;flex-shrink:0;gap:1px;margin-top:18px;padding:4px 0 8px;display:flex;overflow-x:auto}.month-index::-webkit-scrollbar{display:none}.month-index[hidden]{display:none}.month-browsebar{align-items:center;gap:6px;display:flex}.month-browsebar select{min-width:0;min-height:44px;color:var(--ink);background:var(--glass);font:13px var(--sans);border:0;border-radius:14px;flex:1;padding:0 10px}.month-browsebar .text-button{padding:0 4px}.month-browsebar select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.month-index button{min-width:44px;min-height:44px;font:15px var(--serif);border-radius:22px;position:relative}.month-index button[aria-pressed=true]{background:#ffffff50;box-shadow:inset 0 1px 1px #ffffffc9}.calendar-panel{background:var(--glass-reading);border-radius:28px 28px 40px;padding:16px 12px 15px}.month-note{text-align:center;font:13px/1.8 var(--serif);margin-bottom:18px}.calendar-tools{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:-10px 4px 8px;font-size:11px;display:flex}.calendar-tools>span{align-items:center;gap:6px;display:flex}.calendar-tools i{background:var(--accent);border-radius:50%;width:4px;height:4px}.calendar-tools .text-button{font-size:11px}.days-grid,.week-row{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.week-row{color:var(--muted);padding-bottom:8px;font-size:11px}.days-grid button{min-height:44px;font:17px var(--serif);border-radius:50%;position:relative}.days-grid .selected{color:#403456;background:#cdbce8c2;box-shadow:inset 0 1px 1px #fff}.calendar-today:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:calc(50% - 2px)}.selected-note{animation:page-flow .4s var(--ease-water) both;border-top:1px solid #fffa;margin-top:10px;padding:14px 6px 0}.selected-date{flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:9px;font-size:12px;display:flex}.selected-date time{font-family:var(--serif)}.selected-date span{font:11px var(--sans);color:var(--muted)}.selected-note>p{font-size:12px;line-height:1.8}.open-selected-page{border-top:1px solid #ffffff70;justify-content:space-between;width:100%;margin-top:8px;font-size:11px}.chapter-introduction{font:12px/1.9 var(--serif);margin:18px 6px 0}.opening-main{text-align:center;flex-direction:column;flex:1;align-items:center;min-height:0;padding-top:clamp(12px,5svh,40px);display:flex}.opening-main h1{font:400 110px/1.2 var(--serif);letter-spacing:-.045em;margin:8px 0}.opening-subtitle{font:17px var(--serif);letter-spacing:.13em}.opening-bottom{width:100%;margin-top:auto;padding-top:clamp(28px,16svh,140px)}.recipient{letter-spacing:.2em;font-size:9px;line-height:2}.recipient span{letter-spacing:.08em;margin:4px 0 23px;font-size:12px;display:block}.opening-bottom .primary{width:100%;padding-left:40px}.opening-bottom .micro{margin-top:17px}.note-main{flex-direction:column;flex:1;padding-top:42px;display:flex}.note-main h1,.play-main h1,.share-main h1{font:400 26px/1.5 var(--serif);letter-spacing:.04em;margin-top:15px}.letter{background:var(--glass-reading);border-radius:32px 32px 56px;margin:32px 0;padding:32px 28px}.letter-star{color:#9583ac;margin-bottom:28px;font-size:32px;display:block}.letter-to{font-size:13px;line-height:1.9}.letter-body{font:18px/2.2 var(--serif);white-space:pre-line;margin:25px 0 36px}.letter-sign{text-align:right;font-size:11px;line-height:2}.letter-sign span{font:italic 26px var(--serif)}.note-main>.primary{margin-top:auto;margin-bottom:20px}.play-main{text-align:center;flex:1;padding-top:23px}.play-heading{justify-content:space-between;align-items:center;display:flex}.play-main h1{margin-top:15px}.play-subtitle{color:var(--muted);margin-top:10px;font-size:11px}.ritual-picker{background:#fff3;border-radius:28px;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-top:20px;padding:4px;display:grid}.ritual-picker button{border:1px solid #0000;border-radius:23px;flex-direction:column;justify-content:center;align-items:center;min-height:75px;padding:3px 0 9px;font-size:11px;display:flex}.ritual-picker button[aria-pressed=true]{background:#e6d7f3b0;border-color:#ffffffbd;box-shadow:inset 0 1px 1px #fff9,0 5px 14px #72678015}.woodfish-space{place-items:center;min-height:220px;margin-top:8px;display:grid;position:relative}.woodfish{z-index:1;filter:drop-shadow(0 20px 25px #77709e40);border-radius:50%;width:224px;height:224px;position:relative}.ritual-suspension{animation:object-current 6s ease-in-out infinite;display:block}.ritual-suspension,.woodfish .ritual-visual{width:100%;height:100%}.orbit{border:1px solid #fffc;border-radius:50%;width:208px;height:208px;animation:orbit-current 10s ease-in-out infinite alternate;position:absolute;box-shadow:0 0 50px #fff7,inset 0 0 50px #fff5}.orbit:after{content:"";border:1px solid #fff7;border-radius:50%;position:absolute;inset:23px}.merit{letter-spacing:.1em;white-space:nowrap;z-index:2;pointer-events:none;font-size:17px;animation:rise 1.2s both;position:absolute;top:26px}.knock{animation:knock .25s}.knock-ripple{pointer-events:none;border:1px solid #ffffffe0;border-radius:50%;width:180px;height:180px;animation:knock-ripple .8s ease-out both;position:absolute}.ritual-leaf .woodfish .knock{animation:leaf-sweep .3s ease-out}.ritual-money .woodfish .knock{animation:pouch-bounce .28s ease-out}.ritual-flower .woodfish .knock{animation:flower-bloom .3s ease-out}.ritual-star .woodfish .knock{animation:star-turn .32s ease-out}.ritual-guidance{margin-top:10px}.tap-hint{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--muted);letter-spacing:.04em;background:#fff9;border-radius:20px;padding:4px 10px;font-size:12px;line-height:1.6;display:inline-block}.merit-count{background:#ffffff42;border:1px solid #ffffff70;border-radius:24px;align-items:center;margin-top:8px;padding:2px 20px;font-size:12px;display:inline-flex}.merit-count strong{font:400 26px var(--serif);margin-left:12px}.fortune{background:var(--glass-reading);border-radius:28px 28px 40px;min-height:132px;margin-top:18px;padding:22px 18px 12px}.fortune.revealed{animation:page-flow .6s var(--ease-water) both}.fortune.sealed{background:#f1eaf775}.fortune>p:nth-child(2){font:18px/1.8 var(--serif);margin-top:12px}.fortune .text-button{margin-top:8px;font-size:11px}.share-main{text-align:center;flex:1;padding-top:30px}.segmented{border-radius:30px;margin:20px 0;padding:4px;display:inline-flex}.segmented button{border-radius:24px;min-width:100px;min-height:44px;font-size:12px;transition:background .4s}.segmented button[aria-pressed=true]{background:#e6d7f3c2;box-shadow:inset 0 1px 1px #fff,0 2px 8px #78708a15}.share-placeholder,.share-preview{aspect-ratio:9/16;border:1px solid #fff9;border-radius:23px;width:min(100%,250px);margin:0 auto;display:block;box-shadow:0 12px 35px #71658c26}.share-placeholder{place-items:center;font-size:12px;display:grid}.share-locked{background:var(--glass-reading);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:310px;display:flex}.share-locked>span{color:var(--accent);font-size:46px}.share-locked>p{font:16px var(--serif)}.share-locked .secondary{margin-top:12px}.share-actions{gap:10px;margin:24px 0 14px;display:flex}.share-actions>.primary{flex:1}.share-actions>.secondary{min-width:90px}.error{margin:12px 0;font-size:12px;line-height:1.8}.storage-notice{width:100%;color:var(--ink);border:1px solid var(--line);background:#f5edf4ee;border-radius:20px;align-items:center;gap:10px;margin-top:12px;padding:12px 15px;font-size:11px;display:flex}.storage-notice button{min-width:44px;min-height:44px}.landing,.loading{text-align:center;background:radial-gradient(at 30% 30%,#f9eae7,#e6e0f1 45%,#bec8e8);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100svh;padding:30px;display:flex}.loading p{letter-spacing:.1em;font-size:12px}.landing h1{font:400 32px/1.6 var(--serif)}.landing small{color:var(--muted);font-size:11px}@keyframes rim-flow{to{--rim-angle:360deg}}@keyframes scene-arrive{0%{opacity:0}to{opacity:1}}@keyframes island-current{0%{transform:scale(1.035)translate(-2px)}to{transform:scale(1.055)translate(2px,-5px)}}@keyframes mist-current{0%{opacity:.25;transform:translate(-4px,4px)}to{opacity:.7;transform:translate(5px,-6px)}}@keyframes page-flow{0%{opacity:.25;transform:translateY(8px)scale(.988)}to{opacity:1;transform:none}}@keyframes object-current{0%,to{transform:translateY(2px)}50%{transform:translateY(-3px)}}@keyframes orbit-current{0%{opacity:.7;transform:scale(.97)}to{opacity:1;transform:scale(1.03)}}@keyframes knock{50%{transform:scale(.94)rotate(-3deg)}to{transform:none}}@keyframes rise{0%{opacity:0;transform:translate(-50%,25px)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-35px)}}@keyframes knock-ripple{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.65)}}@keyframes leaf-sweep{35%{transform:rotate(-12deg)}70%{transform:rotate(8deg)}to{transform:none}}@keyframes pouch-bounce{35%{transform:translateY(7px)scale(1.04,.94)}70%{transform:translateY(-5px)}to{transform:none}}@keyframes flower-bloom{40%{transform:scale(1.08)rotate(5deg)}to{transform:none}}@keyframes star-turn{50%{transform:rotate(14deg)scale(1.06)}to{transform:none}}.kind-一句话 .daily-note{text-align:center;padding:5px 0}.kind-小观察 .daily-note{border-left:2px solid #b8adc687;padding-left:14px}.kind-小练习 .day-action{flex-direction:column;gap:6px}.kind-问自己 .daily-note{font-size:20px;line-height:1.8}.ritual-leaf .woodfish{touch-action:pan-y}.ritual-leaf .woodfish[data-pressed] .ritual-suspension{transform:rotate(var(--sweep,0deg));animation:none}.flower-petals{transform-origin:120px 106px;transition:transform .7s var(--ease-water)}.ritual-flower .woodfish[data-pressed] .flower-petals{transform:scale(1.18)rotate(8deg)}.ritual-star .woodfish:before{content:"";opacity:0;background:radial-gradient(circle,#fffce9cc,#fffce922 55%,#0000 72%);border-radius:50%;transition:opacity .8s,transform .8s;position:absolute;inset:15%;transform:scale(.5)}.ritual-star .woodfish[data-pressed]:before{opacity:1;transform:scale(1.6)}.woodfish-mallet{transform-origin:180px 57px}.ritual-woodfish .knock .woodfish-mallet{animation:mallet-tap .25s ease-out}.ritual-particles{pointer-events:none;position:absolute;inset:0}.ritual-particles i{opacity:0;--drift:-55px;width:18px;height:18px;font-style:normal;animation:particle-release .85s ease-out both;position:absolute;top:38%;left:50%}.ritual-particles i:nth-child(2){--drift:0px;animation-delay:50ms}.ritual-particles i:nth-child(3){--drift:55px;animation-delay:.1s}.particles-money i{color:#8a6e53;background:#f6e9bd;border:1px solid #bea282;border-radius:50%;font-size:12px}.particles-leaf i{background:#c5bdcf;border-radius:50%;width:7px;height:7px;animation-name:dust-away}.particles-flower i{background:#f6dce7;border-radius:80% 0;width:12px;height:16px}.particles-star i{color:#fff8d6;text-shadow:0 0 8px #fff7d2;font-size:23px}.particles-woodfish{display:none}@keyframes mallet-tap{45%{transform:rotate(15deg)translate(-5px,12px)}}@keyframes particle-release{0%{opacity:0;transform:translate(-50%)scale(.5)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--drift)),-80px) rotate(35deg)}}@keyframes dust-away{0%{opacity:.8;transform:translate(-50%)}to{opacity:0;transform:translate(calc(-50% + var(--drift)),-35px) scale(.1)}}@media (hover:hover) and (pointer:fine){.icon-button:hover,.primary:hover,.secondary:hover{background:#fff8;transform:translateY(-2px);box-shadow:inset 0 1px 1px #fff,0 8px 24px #6b52751f}.days-grid button:hover:not(.selected),.page-turner>button:hover:not(:disabled){background:#fff6}}@media (max-width:359px){.page-content{padding-left:16px;padding-right:16px}.wordmark .luma-wordmark{width:96px;height:36px}.day-sheet{border-radius:28px 28px 40px;padding:20px 20px 18px}.sheet-date h1{font-size:76px}.sheet-theme{gap:10px;margin-top:18px}.sheet-theme h2{font-size:26px}.day-seal{width:40px;height:40px;font-size:21px}.day-sheet .daily-note{font-size:17px;line-height:1.85}.day-action{gap:8px}.day-action p{font-size:12px}.page-turner>.text-button,.page-turner>button{font-size:10px}.page-turner>.text-button{padding:0 10px}.bottom-nav button{gap:5px;font-size:11px}.calendar-panel{border-radius:24px;padding-left:5px;padding-right:5px}.ritual-picker{gap:0}.ritual-picker .ritual-visual{width:43px;height:43px}.ritual-picker button{font-size:10px}.opening-main h1{font-size:96px}.opening-subtitle{font-size:15px}.note-main h1,.play-main h1,.share-main h1{font-size:23px}.letter{padding:24px 20px}}@media (max-height:740px){.opening-main{padding-top:12px}.opening-bottom{padding-top:28px}.play-main{padding-top:8px}.play-main h1{margin-top:6px}.play-subtitle{margin-top:4px}.ritual-picker{margin-top:10px}.ritual-picker button{min-height:66px;padding-bottom:5px}.woodfish-space{min-height:160px}.woodfish{width:160px;height:160px}.orbit{width:150px;height:150px}.knock-ripple{width:140px;height:140px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.luma-surface{background:#efebf8e8}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}.knock-ripple,.luma-surface:before,.merit,.ritual-particles{display:none}}.day-sheet{border-radius:30px;box-shadow:0 12px 38px #61597d18,0 5px 0 -1px #eae3f099,0 10px 0 -3px #fff6}.sheet-date h1{font-size:clamp(88px,25vw,116px)}.sheet-date{margin:18px 0}.sheet-theme{margin-top:12px}.day-action{display:block}.day-action p{margin-top:6px;font-size:13px}.sheet-colophon>span:first-child{display:none}.sheet-colophon{justify-content:flex-end}.book-context{margin-bottom:8px}.page-turner{padding-top:20px}.ritual-visual{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ritual-picker .ritual-visual{width:48px;height:48px}.ritual-flower .woodfish[data-pressed] .ritual-visual{transition:transform .6s;transform:scale(1.12)rotate(6deg)}.orbit{box-shadow:none;background:radial-gradient(#fff7,#e7d9fa22 55%,#0000 72%);border:0}.orbit:after{display:none}.calendar-panel{padding-bottom:22px}.month-main .calendar-tools{margin-bottom:12px}@media (max-width:360px){.day-sheet{padding:20px}.sheet-date{margin:18px 0}.sheet-theme h2{font-size:26px}.page-turner>.text-button{padding:0 9px}}@media (prefers-reduced-motion:reduce){.ritual-flower .woodfish[data-pressed] .ritual-visual{transition:none;transform:none}}.ritual-guidance{grid-template-rows:30px 36px;place-items:center;gap:4px;display:grid}.tap-hint{max-width:100%;margin:0;font-size:11px}.merit-count{margin:0}.page-turner>button[hidden]{display:none}.current-day-actions{justify-content:center}@media (min-height:741px){.play-main{padding-top:12px}.play-main h1{margin-top:8px}.ritual-picker{margin-top:14px}.woodfish-space{min-height:190px}.woodfish{width:190px;height:190px}.fortune{margin-top:12px}}.brand-signature{color:var(--muted);flex:none;justify-content:center;margin-top:14px;display:flex}.brand-signature .luma-wordmark{width:64px;height:24px}.share-main{flex-direction:column;align-items:center;padding-top:14px;display:flex}.share-main h1{margin-top:0;font-size:24px}.share-main .segmented{grid-template-columns:1fr 1fr;width:min(100%,280px);margin:16px 0 18px;display:grid}.share-main .segmented button{min-width:0}.share-placeholder,.share-preview{border-radius:20px;width:min(100%,280px)}.share-actions{grid-template-columns:1fr 1fr;gap:12px;width:min(100%,320px);margin:18px 0 10px;display:grid}.share-actions>.primary,.share-actions>.secondary{letter-spacing:.02em;gap:8px;min-width:0;padding:12px 10px}.share-actions>.primary{background:#f9f5ffc2}.share-main .micro{font-size:12px}.share-main .share-locked{width:100%}@media (max-height:740px){.share-placeholder,.share-preview{width:min(100%,240px)}.share-main{padding-top:8px}}.island.view-month,.island.view-share,.island.view-today{background:radial-gradient(at 0 5%,#c8cff0aa,#0000 60%),radial-gradient(at 100%,#ecd7e9aa,#0000 65%),#efedf8}.view-today .daily-book{padding-top:2px}.illustrated-sheet.day-sheet{-webkit-backdrop-filter:blur(14px)saturate(1.02);backdrop-filter:blur(14px)saturate(1.02);background:linear-gradient(155deg,#ffffff9e,#f6efff75);border:1px solid #fff9;border-radius:32px 32px 48px 48px;padding:0;overflow:hidden;box-shadow:0 12px 40px #68659b19,inset 0 1px #fff}.daily-picture{aspect-ratio:3/2;background:#e8e4db;margin:0;position:relative}.daily-picture>img{object-fit:cover;width:100%;height:100%;display:block}.picture-date{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#45445f;background:#fffaffb8;border:1px solid #ffffffbd;border-radius:18px;align-items:center;gap:12px;padding:10px 15px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 3px 12px #322c3510}.picture-date h1{font:400 58px/.92 var(--serif);letter-spacing:-.055em}.picture-date>span{font:14px/1.5 var(--serif)}.picture-date small{font:10px/1.5 var(--sans);letter-spacing:.08em;display:block}.daily-reading{padding:16px 22px 18px}.illustrated-sheet .sheet-date-line{border:0;padding:0;font-size:12px}.illustrated-sheet .sheet-theme{gap:10px;margin:16px 0 10px}.illustrated-sheet .day-seal{width:32px;height:32px;box-shadow:none;background:#f2eaf4;border-color:#dad1e0;font-size:19px}.illustrated-sheet .sheet-theme h2{letter-spacing:.05em;font-size:25px}.illustrated-sheet .daily-note{text-align:left;font:17px/1.8 var(--serif);border:0;margin:0 0 14px;padding:0}.illustrated-sheet .day-action{border-top:1px solid #d7d1e4;padding-top:12px}.illustrated-sheet .day-action>span{font-size:11px}.illustrated-sheet .day-action p{margin-top:4px;font-size:12px;line-height:1.7}.illustration-credit{letter-spacing:.06em;color:var(--muted);justify-content:space-between;gap:8px;margin-top:14px;font-size:10px;display:flex}.view-month .month-main{padding-top:12px}.view-month .calendar-panel{background:#fffaff7a;border-radius:24px;padding:10px 8px 16px}.view-month .calendar-tools{margin:0 4px 10px}.view-month .days-grid{gap:6px 2px}.view-month .days-grid button{border-radius:9px;flex-direction:column;align-items:center;gap:4px;min-height:62px;padding:3px;font-size:14px;display:flex}.days-grid button img{aspect-ratio:4/3;object-fit:cover;border-radius:5px;width:100%;height:auto}.view-month .days-grid .selected{background:#ded2e9}.view-month .calendar-today:after{bottom:1px}@media (max-width:359px){.daily-reading{padding:14px 17px 16px}.picture-date h1{font-size:50px}.picture-date{padding:8px 12px;bottom:10px;left:10px}.illustrated-sheet .sheet-theme h2{font-size:23px}.illustrated-sheet .daily-note{font-size:16px}}.daily-picture:after{content:"";pointer-events:none;opacity:.035;background:linear-gradient(115deg,#0000 15%,#fff8 48%,#0000 75%);animation:daily-light 14s ease-in-out infinite alternate;position:absolute;inset:0}@keyframes daily-light{0%{opacity:.025;transform:translate(-15%)}to{opacity:.1;transform:translate(15%)}}@media (prefers-reduced-motion:reduce){.daily-picture:after{opacity:0;animation:none}}.island.seasonal-active{color:#39364f;background:#e8e7f5}.seasonal-active .page-content{padding-left:12px;padding-right:12px}.seasonal-active .book-context,.seasonal-active .topbar{margin-left:8px;margin-right:8px}.seasonal-heading{justify-content:space-between;align-items:flex-end;gap:12px;padding:14px 16px 24px;display:flex}.seasonal-heading h1{font:48px/1.15 var(--serif);letter-spacing:.06em}.seasonal-heading p{color:#655e78;letter-spacing:.08em;margin-top:10px;font-size:13px}.seasonal-heading>div:last-child{text-align:right}.seasonal-heading strong{font:64px/1 Georgia,serif;display:block}.seasonal-heading time{white-space:nowrap;color:#655e78;margin-top:9px;font-size:11px;display:block}.seasonal-art{aspect-ratio:358/405;margin:0;position:relative;overflow:hidden}.seasonal-art img{object-fit:cover;object-position:right center;width:100%;height:100%;display:block}.seasonal-spring .seasonal-art{border-radius:50% 50% 0 0/44% 44% 0 0}.seasonal-art:after{content:"";pointer-events:none;background:linear-gradient(#0000,#e8e7f5);position:absolute;inset:86% 0 0}.seasonal-rain.has-verse .seasonal-art:before{content:"";pointer-events:none;background:linear-gradient(90deg,#f0edf8e6,#0000 55%),linear-gradient(#e8e7f5,#0000 18%);position:absolute;inset:0}.seasonal-art figcaption{writing-mode:vertical-rl;font:19px/1.8 var(--serif);letter-spacing:.32em;position:absolute;top:36px;left:24px}.seasonal-reading{text-align:center;padding:10px 12px 6px}.seasonal-reading h2{text-wrap:balance;font:25px/1.5 var(--serif);margin-bottom:9px}.seasonal-reading>p{font:15px/1.9 var(--sans);text-wrap:balance}.seasonal-reading>span{color:#655e78;margin-top:18px;margin-bottom:5px;font-size:11px;display:block}.seasonal-reading .seasonal-action{font-size:14px}.seasonal-month-cover{isolation:isolate;min-height:384px;margin-inline:-12px;position:relative;overflow:hidden}.seasonal-month-cover>img{z-index:-2;object-fit:cover;object-position:58% center;width:100%;height:100%;position:absolute;inset:0}.seasonal-month-cover:after{content:"";z-index:-1;background:linear-gradient(#e8e7f5,#0000 42% 68%,#e8e7f5);position:absolute;inset:0}.seasonal-month-cover header{justify-content:space-between;gap:12px;padding:22px 28px;display:flex}.seasonal-month-cover h1{font:48px/1.2 var(--serif)}.seasonal-month-cover header p{font:21px/1.5 var(--serif);letter-spacing:.1em;margin-top:8px}.seasonal-month-cover header>div:last-child{text-align:right;padding-top:8px}.seasonal-month-cover strong{font:28px/1.3 Georgia,serif;display:block}.seasonal-month-cover header span{margin-top:6px;font-size:11px;display:block}.seasonal-month-caption{text-align:center;width:100%;font:17px/1.7 var(--serif);bottom:10px}.seasonal-days,.seasonal-week{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.seasonal-week{color:#655e78;padding:12px 0 6px;font-size:11px}.seasonal-days button{border-radius:16px;min-height:55px;padding:5px 0;position:relative}.seasonal-days button>span{font:22px/1.2 Georgia,serif;display:block}.seasonal-days small{color:#655e78;margin-top:3px;font-size:8px;line-height:1.5;display:block}.seasonal-days button[aria-pressed=true]{background:#ffffff70;box-shadow:inset 0 0 0 1px #ffffffc9}.seasonal-days button i{background:#8a7191;border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;left:calc(50% - 1.5px)}.seasonal-month-controls{justify-content:space-between;align-items:center;margin:12px 8px 4px;display:flex}.seasonal-active .month-index{margin-top:0;margin-bottom:2px}@media (max-width:359px){.seasonal-active .page-content{padding-left:6px;padding-right:6px}.seasonal-month-cover{margin-inline:-6px}.seasonal-month-cover header{padding-left:22px;padding-right:22px}.seasonal-heading{gap:6px;padding-left:12px;padding-right:12px}.seasonal-heading h1{font-size:42px}.seasonal-heading strong{font-size:58px}.seasonal-heading time{font-size:10px}.seasonal-reading h2{font-size:23px}.seasonal-reading>p{font-size:14px}}.seasonal-rain:not(.has-verse) .seasonal-art:before{content:"";pointer-events:none;background:linear-gradient(#e8e7f5,#0000 18%);position:absolute;inset:0}.seasonal-atmosphere{z-index:1}.seasonal-ambient,.seasonal-atmosphere{pointer-events:none;position:absolute;inset:0}.seasonal-ambient{overflow:hidden}.seasonal-ambient i{display:block;position:absolute}.seasonal-atmosphere .seasonal-ambient *,.seasonal-atmosphere .seasonal-ambient :after{animation-play-state:paused}.seasonal-atmosphere[data-active=true] .seasonal-ambient *,.seasonal-atmosphere[data-active=true] .seasonal-ambient :after{animation-play-state:running}.seasonal-atmosphere[data-ready=false] .seasonal-ambient,.seasonal-atmosphere[data-reduced=true] .seasonal-ambient{display:none}.seasonal-motion-toggle{pointer-events:auto;color:#655e78;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;bottom:8px;right:8px}.seasonal-motion-toggle:before{content:"";z-index:-1;background:#e8e7f599;border:1px solid #ffffffb0;border-radius:50%;position:absolute;inset:8px}.seasonal-month-cover .seasonal-atmosphere{z-index:0}.seasonal-month-caption,.seasonal-month-cover header{z-index:1;pointer-events:none;position:relative}.seasonal-month-caption{position:absolute}.seasonal-month-cover .seasonal-motion-toggle{bottom:42px}.seasonal-art figcaption{z-index:2;pointer-events:none}.ambient-mist i{background:radial-gradient(#f1effa44,#0000 68%);width:108%;height:24%;animation:seasonal-mist 15s ease-in-out infinite alternate;top:58%;left:-8%}.ambient-mist .piece-1{animation-delay:-7s;top:70%;left:-18%}.ambient-water i{background:linear-gradient(90deg,#0000,#fff6dfaa,#0000);border-radius:50%;width:40%;height:2px;animation:seasonal-water 9s ease-in-out infinite;top:68%;left:22%}.ambient-water .piece-1{width:33%;animation-delay:-4.5s;top:77%;left:34%}.ambient-warmth i{background:radial-gradient(#fff0cb55,#0000 68%);width:28%;height:30%;animation:seasonal-warmth 10s ease-in-out infinite alternate;top:43%;left:56%}.ambient-warmth .piece-1{width:17%;height:18%;animation-delay:-5s;top:62%;left:25%}.ambient-rain i{background:linear-gradient(#0000,#ffffff85);width:1px;height:15px;animation:seasonal-rain 7s ease-in-out infinite;top:24%;left:20%}.ambient-snow i{background:#fffaf0;border-radius:50%;width:3px;height:3px;animation:seasonal-snow 12s ease-in-out infinite;top:23%;left:20%}.ambient-rain .piece-1,.ambient-snow .piece-1{animation-delay:-3s;top:37%;left:36%}.ambient-rain .piece-2,.ambient-snow .piece-2{animation-delay:-5s;top:26%;left:57%}.ambient-rain .piece-3,.ambient-snow .piece-3{animation-delay:-1.5s;top:42%;left:73%}.ambient-rain .piece-4,.ambient-snow .piece-4{animation-delay:-6s;top:18%;left:82%}.ambient-rain .piece-5,.ambient-snow .piece-5{animation-delay:-8s;top:55%;left:46%}.ambient-leaves i{background:#d2caad;border-radius:80% 5%;width:5px;height:9px;animation:seasonal-leaf 14s ease-in-out infinite;top:37%;left:38%}.ambient-leaves .piece-1{width:4px;height:7px;animation-delay:-7s;top:25%;left:72%}.ambient-stars i{clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);background:#fff6df;width:6px;height:6px;animation:seasonal-warmth 8s ease-in-out infinite alternate;top:23%;left:35%}.ambient-stars .piece-1{animation-delay:-3s;top:34%;left:61%}.ambient-stars .piece-2{width:4px;height:4px;animation-delay:-5s;top:42%;left:47%}.ambient-stars .piece-3{width:4px;height:4px;animation-delay:-7s;top:20%;left:73%}.ambient-steam-plume{width:18%;height:24%;position:absolute;overflow:visible;transform:translate(-50%)}.ambient-steam-plume path{stroke:#fff8ec;stroke-width:3px;stroke-linecap:round;opacity:0;animation:seasonal-steam 9s ease-in-out infinite}.ambient-steam-plume path+path{stroke-width:2px;animation-delay:-4.5s}@keyframes seasonal-mist{0%{opacity:.25;transform:translate(-8px)}to{opacity:.6;transform:translate(12px)}}@keyframes seasonal-water{0%,to{opacity:0;transform:scaleX(.65)translate(-5px)}50%{opacity:.45;transform:scaleX(1.1)translate(8px)}}@keyframes seasonal-warmth{0%{opacity:.12}to{opacity:.52}}@keyframes seasonal-rain{0%,65%,to{opacity:0;transform:translate(0)}15%{opacity:.3}55%{opacity:0;transform:translate(-7px,55px)}}@keyframes seasonal-snow{0%,to{opacity:0;transform:translate(0)}20%{opacity:.55}85%{opacity:0;transform:translate(9px,70px)}}@keyframes seasonal-leaf{0%,to{opacity:0;transform:translate(0)rotate(-20deg)}25%{opacity:.45}80%{opacity:0;transform:translate(18px,55px)rotate(70deg)}}@keyframes seasonal-steam{0%,to{opacity:0;transform:translateY(8px)}35%{opacity:.18}80%{opacity:0;transform:translate(3px,-10px)}}@media (prefers-reduced-motion:reduce){.seasonal-ambient,.seasonal-motion-toggle{display:none}}.view-opening .artwork>img{opacity:.52;animation:none}.view-opening .art-glow{animation:cover-dawn 4.5s ease-out both}.opening-designed{padding-top:14px}.opening-heading{width:100%}.opening-edition{font:400 9px/1.6 var(--sans);letter-spacing:.24em;color:#68617e}.opening-edition span{padding-inline:8px}.opening-designed h1{font:200 clamp(72px,22vw,98px)/1.05 Helvetica Neue,Arial,var(--sans);font-variant-numeric:lining-nums;letter-spacing:-.055em;color:#55516d;justify-content:center;gap:12px;margin:16px 0 8px;display:flex}.opening-designed h1 span:nth-child(2){font-weight:100}.opening-year-rule{color:#b19c8f;justify-content:center;align-items:center;gap:14px;margin:4px 0 15px;font-size:16px;display:flex}.opening-year-rule span{background:linear-gradient(90deg,#0000,#aaa0b859,#0000);width:48px;height:1px}.opening-designed .opening-subtitle{font:400 15px/1.8 var(--sans);letter-spacing:.12em}.opening-book-stage{aspect-ratio:1;flex:none;width:min(100%,320px);margin:4px auto -8px;position:relative}.book-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.book-keyframe,.book-stages{position:absolute;inset:0}.book-keyframe{transform-origin:50% 79%;background-image:url(/art/opening/feather-book-stages.webp);background-repeat:no-repeat;background-size:300% 100%}.book-closed{animation:book-arrive 3.8s var(--ease-water) both;background-position:0 0}.book-unfold{opacity:0;background-position:50% 0}.book-flower{opacity:0;background-position:100% 0}.book-bloom-light{opacity:0;pointer-events:none;background:radial-gradient(#fff1ce55,#0000 66%);position:absolute;inset:28% 13% 5%}.opening-designed[data-bloom=true] .book-closed{animation:book-leave 4.4s ease-in-out both}.opening-designed[data-bloom=true] .book-unfold{animation:book-unfold 4.4s ease-in-out both}.opening-designed[data-bloom=true] .book-flower{animation:book-blossom 4.4s ease-in-out both}.opening-designed[data-bloom=true] .book-bloom-light{animation:book-light 4.4s ease-in-out both}.opening-designed[data-paused=true] .book-stages *{animation-play-state:paused}.opening-sequence-status p{font:11px/1.7 var(--sans);letter-spacing:.06em;color:#6d647d}.opening-designed .opening-bottom{margin-top:auto;padding-top:18px}.opening-designed .recipient span{font:400 12px/1.9 var(--sans);margin:0 0 14px}.opening-designed .primary{font:500 14px/1.5 var(--sans);letter-spacing:.09em;padding-left:18px}.opening-designed .primary:disabled{opacity:.75}.opening-designed .micro{margin-top:12px;font-size:10px}.book-fallback{color:#c7b1a0;place-items:center;font-size:90px;display:grid;position:absolute;inset:0}@keyframes cover-dawn{0%{opacity:.05}to{opacity:.6}}@keyframes book-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes book-leave{0%,12%{opacity:1;transform:none}40%,to{opacity:0;transform:translateY(6px)scale(.94)}}@keyframes book-unfold{0%,8%{opacity:0;transform:translateY(10px)scale(.94)}32%,48%{opacity:1;transform:none}72%,to{opacity:0;transform:translateY(4px)scale(1.02)}}@keyframes book-blossom{0%,42%{opacity:0;transform:translateY(8px)scale(.94)}78%,to{opacity:1;transform:none}}@keyframes book-light{0%,30%,to{opacity:0}65%{opacity:.8}}@media (max-height:740px),(max-width:350px){.opening-designed{padding-top:4px}.opening-designed h1{margin-top:10px;font-size:72px}.opening-book-stage{width:min(100%,240px)}.opening-designed .opening-bottom{padding-top:8px}.opening-designed .opening-subtitle{font-size:13px}}@media (prefers-reduced-motion:reduce){.opening-designed .book-closed{opacity:1;transform:none}.view-opening .art-glow{opacity:.3}}@media (max-height:640px){.view-opening .page-content{padding-top:max(env(safe-area-inset-top),12px);padding-bottom:max(env(safe-area-inset-bottom),12px)}.opening-designed h1{margin-top:4px;font-size:60px}.opening-designed .opening-year-rule{margin-bottom:8px}.opening-book-stage{width:160px}.opening-designed .recipient span{margin-bottom:8px}.opening-designed .micro{margin-top:8px}}.view-opening .artwork>img{opacity:.82}.view-opening .art-veil{background:linear-gradient(#f0eef8e8,#eeeaf6a6 24%,#ede9f126 46%,#eeeaf278 70%,#eeeaf4df 94%)}.opening-designed h1{align-items:center;gap:10px;margin:12px 0 18px;font-size:clamp(64px,20vw,88px)}.opening-designed h1 span:nth-child(2){width:.59em;height:.84em;font-weight:200}.opening-zero{width:100%;height:100%;overflow:visible}.opening-designed .opening-subtitle{letter-spacing:.07em;font-size:14px}.opening-book-stage{width:min(100%,340px);margin:12px auto 0}.book-stages:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(#70688720,#0000 70%);height:7%;position:absolute;bottom:11%;left:18%;right:18%}.opening-designed .recipient{letter-spacing:.12em;font-size:10px}.opening-designed .recipient span{margin:5px 0 20px;font-size:14px;line-height:1.7}.opening-designed .opening-bottom{padding-top:8px;padding-bottom:12px}.opening-designed[data-settled=true] .primary{background:#faf5ffd9}@media (max-height:740px),(max-width:350px){.opening-designed h1{margin:6px 0 12px;font-size:66px}.opening-book-stage{width:min(100%,280px);margin-top:10px}.opening-designed .recipient span{margin-bottom:14px}}@media (max-height:640px){.opening-designed h1{margin:4px 0 10px;font-size:54px}.opening-book-stage{width:220px;margin-top:4px}.opening-designed .opening-subtitle{font-size:12px}.opening-designed .recipient span{margin:3px 0 10px;font-size:12px}.opening-designed .opening-bottom{padding-top:0;padding-bottom:0}}.opening-video{object-fit:contain;width:100%;height:100%;transition:opacity .9s;display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000),linear-gradient(#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000),linear-gradient(#0000,#000 4% 96%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.opening-designed[data-resting=true] .opening-video{opacity:0}.bloom-rest{pointer-events:none;animation:bloom-rest-reveal .9s both;position:absolute;inset:0}.bloom-rest-art{transform-origin:50% 66%;animation:bloom-rest-float 6.8s ease-in-out infinite;position:absolute;inset:0}.bloom-rest-flower{background:url(/art/opening/feather-book-stages.webp) 100% 0/300% 100% no-repeat;position:absolute;inset:0}.bloom-rest-glow{mix-blend-mode:screen;background:radial-gradient(#fffbedb3 0,#ffe8b44d 30%,#ffe6bb00 70%);border-radius:50%;width:36%;height:38%;animation:bloom-rest-light 4.8s ease-in-out infinite;position:absolute;top:29%;left:32%}.bloom-rest-spark{fill:#fff6df;filter:drop-shadow(0 0 4px #ffe5acb3);opacity:0;width:10px;height:10px;animation:bloom-rest-twinkle 5.6s ease-in-out infinite;position:absolute}.bloom-rest-spark.spark-0{width:7px;height:7px;animation-delay:-1.8s;top:53%;left:27%}.bloom-rest-spark.spark-1{animation-delay:-3.6s;top:48%;left:70%}.bloom-rest-spark.spark-2{width:8px;height:8px;animation-delay:-.7s;top:27%;left:49%}.bloom-rest-spark.spark-3{width:6px;height:6px;animation-delay:-4.5s;top:66%;left:61%}.opening-designed[data-paused=true] .bloom-rest,.opening-designed[data-paused=true] .bloom-rest *{animation-play-state:paused}@keyframes bloom-rest-reveal{0%{opacity:0}to{opacity:1}}@keyframes bloom-rest-float{0%,to{transform:translateY(0)rotate(-.25deg)}50%{transform:translateY(-5px)rotate(.25deg)}}@keyframes bloom-rest-light{0%,to{opacity:.22;transform:scale(.94)}50%{opacity:.6;transform:scale(1.05)}}@keyframes bloom-rest-twinkle{0%,25%,85%,to{opacity:0;transform:scale(.65)}52%{opacity:.85;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.opening-video{transition-duration:.15s}.bloom-rest{animation:none}.bloom-rest-art{animation:none;transform:none}.bloom-rest-glow{opacity:.22;animation:none}.bloom-rest-spark{animation:none;display:none}}.view-opening .page-content{min-height:100svh;padding:0}.opening-main.opening-designed{flex:none;width:100%;min-height:max(568px,100svh);padding:0;position:relative}.opening-logo{top:max(34px,env(safe-area-inset-top));color:#685b79;width:78px;height:30px;position:absolute;left:50%;transform:translate(-50%)}.opening-logo svg{width:100%;height:100%}.opening-designed .opening-heading{position:absolute;top:13.27%}.opening-designed h1{width:244px;height:75px;margin:0 auto 28px;display:block}.opening-designed h1 img{width:100%;height:100%;display:block}.opening-designed .opening-subtitle{font:400 13px/1.7 var(--sans);letter-spacing:.14em;color:#645a73}.opening-designed .opening-book-stage{width:calc(100% - 20px);max-width:366px;margin:0;position:absolute;top:32.94%;left:50%;transform:translate(-50%)}.opening-designed .opening-bottom{bottom:max(42px,env(safe-area-inset-bottom));width:auto;margin:0;padding:0;position:absolute;left:24px;right:24px}.opening-designed .recipient{font:400 11px/1.7 var(--sans);letter-spacing:.25em;color:#897d91}.opening-designed .recipient span{font:400 20px/1.5 var(--sans);letter-spacing:.16em;color:#5e536d;overflow-wrap:anywhere;margin:9px 0 25px}.opening-designed .primary,.opening-designed[data-settled=true] .primary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:230px;max-width:100%;height:48px;min-height:48px;font:400 13px/1.7 var(--sans);letter-spacing:.18em;color:#554863;background:linear-gradient(120deg,#fffbff70,#f3edff48);border:1px solid #fffa;border-radius:32px;margin:auto;padding:0;display:block;box-shadow:inset 0 1px #ffffff80}@media (max-height:740px){.opening-logo{top:max(22px,env(safe-area-inset-top))}.opening-designed .opening-heading{top:15%}.opening-designed h1{width:215px;height:66px;margin-bottom:14px}.opening-designed .opening-book-stage{width:min(78%,280px);top:33%}.opening-designed .opening-bottom{bottom:max(24px,env(safe-area-inset-bottom))}.opening-designed .recipient span{margin:6px 0 16px;font-size:18px}}@media (max-height:610px){.opening-designed .opening-heading{top:13%}.opening-designed h1{width:190px;height:58px;margin-bottom:12px}.opening-designed .opening-book-stage{width:230px;top:30%}}@media (max-height:740px){.view-note .note-main{padding-top:12px}.view-note .note-main h1{margin-top:10px;font-size:23px}.view-note .letter{margin:18px 0;padding:20px 22px}.view-note .letter-star{margin-bottom:12px;font-size:25px}.view-note .letter-body{overflow-wrap:anywhere;margin:16px 0 20px;font-size:17px;line-height:1.9}.view-note .note-main>.primary{margin-bottom:12px}}.view-opening .artwork>img{transform:translate(-8%)scale(1.18)}.opening-designed .opening-subtitle{padding-left:.14em}.opening-designed .recipient{padding-left:.25em}.opening-designed .recipient span{padding-right:.09em}.opening-designed .primary{padding-left:.18em}.view-note .note-main{padding-top:16px}.view-note .letter{margin:12px 0 24px}.view-note .letter .letter-to{font:400 17px/1.8 var(--serif);letter-spacing:.04em;margin:0}.view-note .letter-body{overflow-wrap:anywhere;margin:24px 0 28px;font-size:16px;line-height:2}.view-note .letter-sign{font-size:12px;line-height:2.2}.view-note .letter-sign span{margin-top:4px;font-size:24px;display:inline-block}@media (max-height:740px){.view-note .note-main{padding-top:6px}.view-note .letter{margin:10px 0 20px;padding:24px 22px}.view-note .letter-body{margin:20px 0 24px;font-size:16px;line-height:1.95}}.view-note .letter .letter-to{font:400 16px/1.8 var(--sans);letter-spacing:.06em;color:#62586f}.view-note .letter-body{font-family:var(--sans);letter-spacing:.025em;color:#62586f;font-size:15px;font-weight:400;line-height:2.15}.view-note .letter-sign{letter-spacing:.025em;color:#81758e}.view-note .letter-sign span{font:400 21px/1.5 var(--sans);letter-spacing:.055em;color:#62566f;margin-top:8px}.ambient-light{pointer-events:none;z-index:0;height:100svh;position:absolute;inset:0 0 auto;overflow:hidden}.page-content{z-index:1}.ambient-light i{opacity:.52;background:#fff9e9;border-radius:50%;display:block;position:absolute;box-shadow:0 0 7px 2px #fff4dba6,0 0 19px 5px #eadcf33d}.view-note .ambient-light,.view-share .ambient-light{opacity:.45}.opening-designed .opening-flow-button{isolation:isolate;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffc2,0 3px 20px #b7a6d22b}.opening-flow-button span{z-index:2;position:relative}.opening-flow-button:before{content:"";pointer-events:none;z-index:0;opacity:.65;background:linear-gradient(110deg,#0000 15%,#d2c6ee66 30%,#fff5dfb3 43%,#ffffffbd 49%,#e6d8f580 58%,#0000 72%);position:absolute;inset:-100% -55%;transform:translate(-20%)rotate(-8deg)}.opening-flow-button:after{content:"";pointer-events:none;border-radius:inherit;z-index:1;background:linear-gradient(#ffffff26,#0000 60%);border:1px solid #ffffff70;position:absolute;inset:1px}.opening-flow-button:active{transform:scale(.98)}@media (prefers-reduced-motion:no-preference){.ambient-light i{animation:island-mote var(--mote-duration) ease-in-out var(--mote-delay) infinite}.opening-flow-button:before{animation:pearl-current 7s ease-in-out infinite alternate}.opening-flow-button{transition:transform .18s,box-shadow .3s}}@keyframes island-mote{0%,to{opacity:0;transform:translateY(18px)scale(.7)}25%{opacity:.55}60%{opacity:.85;transform:translate3d(var(--mote-drift),-15px,0) scale(1)}85%{opacity:.2}}@keyframes pearl-current{0%{opacity:.55;transform:translate(-22%)rotate(-8deg)}to{opacity:.85;transform:translate(22%)rotate(8deg)}}.ambient-light[data-paused=true] i,.opening-designed[data-paused=true] .opening-flow-button:before{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.ambient-light i{opacity:.3}.opening-flow-button:active{transform:none}}.calendar-date{text-align:left;align-items:center;gap:18px;padding:22px 20px;display:flex}.calendar-date h1{letter-spacing:-.04em;flex-shrink:0;font:400 64px/1 Georgia,serif}.calendar-date time{font:500 14px/1.8 var(--sans)}.calendar-date p{font:11px/1.8 var(--sans);color:var(--muted);margin-top:4px}.seasonal-topic{padding:0 24px 20px}.seasonal-topic h2{font:400 32px/1.4 var(--serif)}.seasonal-topic p{font:12px/1.8 var(--sans);color:var(--muted)}.share-date-context{text-align:center;color:var(--muted);margin:14px 0;font-size:12px;line-height:1.8}.seasonal-month-cover{min-height:300px}@media (max-width:350px){.calendar-date{gap:12px;padding:18px 14px}.calendar-date h1{font-size:54px}.calendar-date p{font-size:10px}.seasonal-month-cover{min-height:270px}}.view-note .letter{background:#f6f1f8;padding:0;overflow:hidden}.letter-portrait{aspect-ratio:3/4;isolation:isolate;position:relative}.letter-portrait>img{object-fit:contain;width:100%;height:100%;display:block}.letter-portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000 76%,#f6f1f840 85%,#f6f1f8);position:absolute;inset:0}.letter-content{padding:8px clamp(22px,6vw,32px) 32px;position:relative}.letter-book-light{pointer-events:none;width:20%;height:14%;position:absolute;top:44%;left:67%}.letter-book-light i{opacity:.2;background:#fff9e9;border-radius:50%;width:5px;height:5px;animation:letter-glimmer 5s ease-in-out infinite;position:absolute;box-shadow:0 0 10px 3px #ffe6b6aa}.letter-book-light i:nth-child(2){width:3px;height:3px;animation-delay:-1.8s;top:25%;left:65%}.letter-book-light i:nth-child(3){width:3px;height:3px;animation-delay:-3.4s;top:85%;left:15%}@keyframes letter-glimmer{0%,to{opacity:.16;transform:translateY(2px)scale(.8)}50%{opacity:.75;transform:translateY(-2px)scale(1.12)}}@media (prefers-reduced-motion:reduce){.letter-book-light i{opacity:.3;animation:none}}.view-note{background:linear-gradient(#c6c9e744,#e4daef77 50%,#f4e5ec55),url(/art/letter/island-window-v1.webp) 36%/auto 100%}.view-note .page-content{max-width:420px;padding:max(env(safe-area-inset-top),26px) 0 max(env(safe-area-inset-bottom),24px);margin:auto}.view-note .topbar{grid-template-columns:44px 1fr 44px;gap:0;margin:0 18px 24px;display:grid}.letter-brand{text-align:center;font:400 10px/1.5 var(--sans);letter-spacing:4px;color:#645978}.letter-motion-toggle{opacity:.65}.view-note .note-main{padding:0;display:block}.letter-window{background:linear-gradient(#0000 60%,#e8e1ee99),url(/art/letter/island-window-v1.webp) 64% 37%/auto 430px;border:1px solid #fff8;border-radius:180px 180px 0 0;height:225px;margin:0 40px -18px;animation:letter-window-arrive 1.2s ease-out both;position:relative;box-shadow:inset 0 0 0 10px #f8f1ff33,0 0 30px #fff4}.letter-window:after{content:"";border:1px solid #fff9;border-bottom:0;border-radius:180px 180px 0 0;position:absolute;inset:10px}.view-note .letter{isolation:isolate;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-origin:50% 10%;background:linear-gradient(135deg,#fffafcda,#f9f5ffbd);border:1px solid #ffffffe0;border-radius:24px 24px 64px;margin:0 16px;padding:30px 24px 0;animation:letter-paper-arrive 1.3s cubic-bezier(.2,.75,.2,1) both;position:relative;overflow:visible;box-shadow:0 22px 60px #65598524,inset 0 0 26px #fff9}.view-note .letter:before{content:"";pointer-events:none;border:1px solid #b9a3c330;border-radius:18px 18px 58px;position:absolute;inset:7px}.view-note .letter:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #fff4;animation:letter-rim 7s ease-in-out infinite;position:absolute;inset:-1px;box-shadow:0 0 22px #ffe9c777,inset 0 0 18px #fff8}.letter-pearl-star{clip-path:polygon(50% 0,62% 40%,100% 50%,62% 60%,50% 100%,38% 60%,0 50%,38% 40%);background:linear-gradient(#fff7df,#cbb4ce);width:9px;height:18px;position:absolute;top:39px;right:24px}.view-note .letter .letter-to{font:400 21px/1.8 var(--sans);letter-spacing:.08em;overflow-wrap:anywhere;margin:0 16px 26px 0}.letter-to small{vertical-align:middle;font:400 10px/1.9 var(--sans);letter-spacing:0;border:1px solid #c8b3cc7a;border-radius:8px;margin-right:12px;padding:4px 5px;display:inline-block}.view-note .letter-body{font:400 14px/2.1 var(--sans);letter-spacing:.02em;color:#61546c;white-space:pre-line;margin:0;position:relative}.view-note .letter-body p{margin:0 0 24px}.view-note .letter-body p:last-child{margin-bottom:0}.letter-closing{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:8px;margin:28px -15px 0;display:grid;position:relative}.letter-character{object-fit:contain;filter:drop-shadow(0 8px 9px #82749615);width:100%;max-width:176px;height:auto;display:block;position:relative}.view-note .letter-sign{text-align:right;width:100%;max-width:150px;font:400 11px/1.8 var(--sans);letter-spacing:.02em;color:#7d6a88;overflow-wrap:anywhere;align-self:center;margin:38px 0 0;padding-right:7px;position:relative}.letter-sign img{width:100%;height:auto;margin:0;display:block}.letter-reading-glow{mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle,#fff5cfb0,#0000 70%);width:32px;height:32px;animation:letter-glimmer 5s ease-in-out infinite;position:absolute;bottom:50%;left:26%}.letter-motto{text-align:center;font:400 11px/1.8 var(--sans);letter-spacing:.12em;color:#6c607b;margin:30px 16px 4px}.view-note.letter-paused *,.view-note.letter-paused :after,.view-note.letter-paused :before{animation-play-state:paused!important}@keyframes letter-paper-arrive{0%{opacity:.3;transform:translateY(26px)rotateX(5deg)}to{opacity:1;transform:none}}@keyframes letter-window-arrive{0%{opacity:.65}to{opacity:1}}@keyframes letter-rim{0%,to{opacity:.2}50%{opacity:.8}}@media (max-width:350px){.view-note .letter{margin-left:12px;margin-right:12px;padding-left:21px;padding-right:21px}.letter-closing{gap:4px;margin-left:-12px;margin-right:-12px}.view-note .letter .letter-to{font-size:20px}.letter-brand{letter-spacing:2px;font-size:9px}}@media (prefers-reduced-motion:reduce){.letter-window,.view-note .letter{animation:letter-window-arrive .15s ease-out both;transform:none}.letter-reading-glow,.view-note .letter:after{opacity:.4;animation:none}.letter-motion-toggle{display:none}}.opening-masthead{top:max(28px,env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex;position:absolute;left:26px;right:26px}.opening-masthead .opening-logo{width:83px;height:36px;margin:0;position:static;transform:none}.opening-titlemark{text-align:right;color:#76627e}.opening-titlemark>span{border-bottom:1px solid #b6a0be65;align-items:baseline;gap:5px;padding:0 0 5px 7px;display:flex}.opening-titlemark i{text-shadow:0 1px #fff,0 0 12px #fff9;font:400 18px/1.2 Songti SC,STSong,serif}.opening-titlemark i:first-child{font-size:23px;font-weight:300}.opening-titlemark i:nth-child(3){transform:translateY(-2px)}.opening-titlemark small{font:400 7px/1.6 var(--sans);letter-spacing:.3em;margin-top:5px;display:block}.opening-designed .opening-heading h1{position:relative}.opening-designed .opening-heading h1:after{content:"";mix-blend-mode:soft-light;pointer-events:none;background:linear-gradient(110deg,#0000 20%,#fffbeaee 45%,#fff 50%,#0000 75%) 0 0/250% 100%;animation:year-light 8s ease-in-out infinite;position:absolute;inset:0;-webkit-mask:url(/art/opening/year-2027-pearl.svg) 50%/contain no-repeat;mask:url(/art/opening/year-2027-pearl.svg) 50%/contain no-repeat}.opening-book-stage[role=button]{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.opening-book-stage[role=button]:focus-visible{outline-offset:4px;border-radius:40%;outline:1px solid #a18aac}.opening-sound-row{color:#71617d;justify-content:center;align-items:center;gap:6px;margin:0 0 9px;display:flex}.opening-sound-row>span{font:400 9px/1.6 var(--sans);letter-spacing:.06em}.opening-sound-row button{border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.opening-designed .opening-flow-button{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(130deg,#e2d8eb90,#faf5ff65 45%,#c4b5d379);border:1px solid #fff;box-shadow:inset 0 2px 5px #fff,inset 0 -4px 12px #ac95bd44,0 4px 18px #a38cb529}.opening-designed .opening-flow-button:before{filter:blur(4px);opacity:.95;background:radial-gradient(at 28%,#b5a1c8a0 0,#0000 28%),radial-gradient(at 65% 40%,#fffcf1dd 0,#fff9 12%,#0000 38%),linear-gradient(165deg,#0000 25%,#fff9 40%,#b6a0c77a 52%,#fff8 65%,#0000 80%);animation:liquid-pearl 5s ease-in-out infinite alternate;inset:-110% -70%}.opening-designed .opening-flow-button:after{background:linear-gradient(#ffffff40,#0000 40%,#ffffff24);inset:1px;box-shadow:inset 0 1px 3px #fff,inset 0 -1px 4px #fff9}.view-opening>.artwork>img{animation:scene-arrive 1s ease-out both,cover-tide 10s ease-in-out infinite alternate}.view-opening>.artwork .art-glow{opacity:.8;animation:cover-glow 12s ease-in-out infinite alternate}@keyframes liquid-pearl{0%{transform:translate(-12%)translateY(3%)rotate(-10deg)}to{transform:translate(12%)translateY(-3%)rotate(10deg)}}@keyframes year-light{0%,to{opacity:.2;background-position:100% 0}50%{opacity:.85;background-position:0 0}}@keyframes cover-tide{0%{transform:scale(1.07)translate(-1.2%,.8%)}to{transform:scale(1.11)translate(1.2%,-1.2%)}}@keyframes cover-glow{0%{opacity:.35;transform:translate(-2%)}to{opacity:.85;transform:translate(2%)}}.opening-designed[data-paused=true] *,.opening-designed[data-paused=true] :after{animation-play-state:paused!important}@media (max-height:740px){.opening-masthead{top:max(20px,env(safe-area-inset-top))}.opening-sound-row{margin-bottom:2px}.opening-sound-row button{height:28px}.opening-designed .recipient span{margin-bottom:14px}}@media (max-width:350px){.opening-masthead{left:22px;right:22px}.opening-masthead .opening-logo{width:72px;height:32px}.opening-titlemark i{font-size:16px}.opening-titlemark i:first-child{font-size:20px}}@media (prefers-reduced-motion:reduce){.opening-designed .opening-flow-button:before,.opening-designed .opening-heading h1:after,.view-opening>.artwork .art-glow,.view-opening>.artwork>img{animation:none!important}.opening-designed .opening-heading h1:after{opacity:.2}}.view-opening>.artwork:before{content:"";pointer-events:none;z-index:1;filter:blur(22px);background:radial-gradient(at 20% 45%,#fff5f6a0,#0000 40%),radial-gradient(at 80% 15%,#fff3d97a,#0000 35%);animation:cover-mist-stream 9s ease-in-out infinite alternate;position:absolute;inset:8% -20% 20%}.view-opening>.artwork:after{content:"";pointer-events:none;z-index:1;filter:blur(4px);background:repeating-linear-gradient(174deg,#0000 0 26px,#fff7d95c 29px,#ffffff70 32px,#0000 38px 67px);animation:cover-water-light 6s ease-in-out infinite alternate;position:absolute;inset:62% -35% -4%;-webkit-mask-image:linear-gradient(#0000,#000b 35%,#0006 90%,#0000);mask-image:linear-gradient(#0000,#000b 35%,#0006 90%,#0000)}@keyframes cover-mist-stream{0%{opacity:.18;transform:translate(-8%)}to{opacity:.6;transform:translate(8%)}}@keyframes cover-water-light{0%{opacity:.35;transform:translate(-5%,8px)scaleY(.96)}to{opacity:.8;transform:translate(5%,-8px)scaleY(1.04)}}@media (prefers-reduced-motion:reduce){.view-opening>.artwork:after,.view-opening>.artwork:before{opacity:.18;animation:none}}.opening-titlemark-art>span{font:400 17px/1.3 var(--sans);letter-spacing:.09em;border-top:1px solid #b7a1be70;border-bottom:0;padding:7px 0 0;display:block}.opening-titlemark-art small{letter-spacing:.12em;margin-top:7px;font-size:6px}@media (max-width:350px){.opening-titlemark-art>span{font-size:15px}}html[data-luma-theme=dark] body{background:#17182b}.island[data-theme=dark]{--ink:#eee6f6;--muted:#c2b5d1;--accent:#d2bfe8;--line:#c0a9dd38;--glass:#5b4d7545;--glass-border:#d2bfe86b;--glass-reading:linear-gradient(135deg,#302a49e8,#252841d9);--glass-shadow:inset 0 1px 1px #e6d7ff33,0 12px 36px #080b2426;color:var(--ink);color-scheme:dark;background:#22233c}.opening-action-row{justify-content:center;align-items:center;gap:12px;width:290px;max-width:100%;margin:auto;display:flex}.opening-designed .opening-action-row>.primary{flex:1;width:auto;margin:0}.opening-designed .opening-action-row>.theme-toggle{letter-spacing:normal;border-radius:50%;flex:0 0 48px;justify-content:center;align-items:center;width:48px;min-width:48px;padding:0;display:flex}.theme-toggle svg{z-index:2;position:relative}.theme-toggle[aria-pressed=true] svg{color:#ffe9b4;filter:drop-shadow(0 0 5px #ffd88b88)}.topbar>.theme-toggle{order:3;margin-left:0}.topbar>.topbar-actions{margin-left:auto}.topbar>.letter-brand{flex:1;min-width:0}.cover-motion{z-index:-1;background-position:0;background-size:cover;position:absolute;inset:0;overflow:hidden}.cover-motion video{object-fit:cover;object-position:left center;opacity:0;width:100%;height:100%;position:absolute;inset:0}.cover-motion-veil{z-index:2;pointer-events:none;background:linear-gradient(#f0eef89c,#e4ddef65 24%,#ede9f110 46%,#eeeaf220 70%,#eeeaf49c);position:absolute;inset:0}[data-theme=dark] .cover-motion-veil{background:linear-gradient(#19203f70,#27204025 28%,#1e214000 50%,#201b3a10 75%,#151b3480)}[data-theme=dark] .opening-designed .opening-subtitle,[data-theme=dark] .opening-designed .recipient span,[data-theme=dark] .opening-logo,[data-theme=dark] .opening-titlemark{color:var(--ink)}[data-theme=dark] .opening-designed .recipient,[data-theme=dark] .opening-titlemark small{color:var(--muted)}[data-theme=dark] .opening-designed .opening-flow-button{color:var(--ink);background:linear-gradient(130deg,#85719c66,#b19bcc33,#635a8d66);border-color:#dbcaec80;box-shadow:inset 0 1px 3px #e5d0ff80,0 4px 25px #b190e522}[data-theme=dark] .opening-flow-button:before{opacity:.45}[data-theme=dark] .bloom-rest-flower{filter:brightness(1.06)saturate(.9)drop-shadow(0 0 16px #e5d5ff38)}[data-theme=dark] .art-veil{background:linear-gradient(#171b3b88,#20233d66,#20213cc9)}[data-theme=dark] .bottom-nav,[data-theme=dark] .day-sheet,[data-theme=dark] .fortune,[data-theme=dark] .illustrated-sheet.day-sheet,[data-theme=dark] .segmented{background:var(--glass-reading);color:var(--ink);box-shadow:var(--glass-shadow);border-color:var(--glass-border)}[data-theme=dark] .seasonal-art:after{background:linear-gradient(#0000,#22233c)}[data-theme=dark] .seasonal-rain.has-verse .seasonal-art:before{background:linear-gradient(90deg,#22233ce6,#0000 55%),linear-gradient(#22233c,#0000 18%)}[data-theme=dark] .seasonal-month-cover:after{background:linear-gradient(#22233c,#0000 42% 68%,#22233c)}[data-theme=dark] :is(.seasonal-heading p,.seasonal-heading time,.seasonal-reading>span,.seasonal-reading>small,.seasonal-week,.seasonal-days small,.letter-brand,.letter-sign,.play-subtitle,.tap-hint,.brand-signature){color:var(--muted)}[data-theme=dark] .days-grid button.selected,[data-theme=dark] .month-index button[aria-pressed=true],[data-theme=dark] .ritual-picker button[aria-pressed=true],[data-theme=dark] .seasonal-days button[aria-pressed=true]{color:var(--ink);background:#ad93c94d}[data-theme=dark] .nav-current,[data-theme=dark] .segmented button[aria-pressed=true]{background:#ad93c94d}.island[data-theme=dark].view-note{background:linear-gradient(#191e3da6,#24213dbb),url(/art/letter/island-window-v1.webp) 36%/auto 100%}[data-theme=dark].view-note .letter{background:linear-gradient(135deg,#332d49eb,#27273edb);border-color:#d3c0e58c;box-shadow:0 22px 60px #080b2426,inset 0 0 26px #c4a8dd14}[data-theme=dark].view-note :is(.letter-to,.letter-body,.letter-sign,.letter-sign span){color:var(--ink)}[data-theme=dark].view-note .letter-motto{color:#d3c6df}[data-theme=dark] .letter-sign img{filter:brightness(0)invert(.9)}[data-theme=dark] .letter-window{box-shadow:inset 0 0 0 10px #a99cc522,0 0 30px #b5a1d222}@media (prefers-reduced-motion:reduce){.cover-motion video{display:none}}.view-note .topbar{flex-wrap:nowrap;gap:8px;display:flex}.view-note .topbar>.theme-toggle{order:4}.view-note .topbar>.letter-motion-toggle{order:3}.view-note .topbar>.letter-brand{order:2}[data-theme=dark] .calendar-panel,[data-theme=dark] .share-actions>.primary{background:var(--glass-reading);color:var(--ink)}[data-theme=dark] .bottom-nav button[aria-current]{color:var(--ink)}[data-theme=dark] .merit-count,[data-theme=dark] .ritual-picker,[data-theme=dark] .tap-hint{color:var(--ink);background:#302a49bd}[data-theme=dark].view-play .art-veil{background:linear-gradient(#171b3bbd,#20233d99,#20213ce8)}.island:is(.view-today,.view-month,.view-play,.view-note){height:100dvh;min-height:0}.island:is(.view-today,.view-month,.view-play,.view-note)>.page-content{height:100%;min-height:0;padding-top:max(env(safe-area-inset-top),8px);padding-bottom:max(env(safe-area-inset-bottom),8px)}.island:is(.view-today,.view-month,.view-play) .topbar{margin-bottom:4px}.island:is(.view-today,.view-month,.view-play) .bottom-nav{margin-top:6px}.view-today .daily-book{flex:1;min-height:0;padding-top:4px}.view-today .page-turner{flex:none;width:100%;padding-top:0}.view-month .month-main,.view-play .play-main{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.view-note .topbar{margin:0 16px 4px}.view-note .letter,.view-note .note-main{flex-direction:column;flex:1;min-height:0;display:flex}.view-note .letter{margin:0 12px;padding:16px 20px 0}.view-note .letter .letter-to{flex:none;margin:0 0 10px;font-size:18px;line-height:1.5}.view-note .letter-body{overscroll-behavior:contain;flex:1;min-height:0;font-size:14px;line-height:1.75;overflow-y:auto}.view-note .letter-body p{margin-bottom:12px}.view-note .letter-closing{flex:none;height:clamp(65px,12dvh,108px);margin:6px -8px 0}.view-note .letter-character{width:auto;max-width:100%;height:100%}.view-note .letter-sign{max-width:125px;margin:0}.view-note .letter-motto{flex:none;margin:8px 12px 0;font-size:10px}.view-note .letter-closing{grid-template-rows:minmax(0,1fr);height:clamp(65px,15dvh,130px)}.view-note .letter-character{object-fit:contain;object-position:left bottom;height:clamp(65px,15dvh,130px);min-height:0;max-height:100%}@media (min-height:740px) and (min-width:360px){.view-note .letter-body{font-size:15px;line-height:1.9}.view-note .letter-body p{margin-bottom:16px}}.view-share{height:100dvh;min-height:0}.view-share>.page-content{height:100%;min-height:0;padding-top:max(env(safe-area-inset-top),8px);padding-bottom:max(env(safe-area-inset-bottom),8px)}.view-share .share-main{flex:1;min-height:0;padding-top:0;overflow-y:auto}.view-share .share-main .segmented{flex:none;margin:8px 0 10px}.view-share .share-preview{object-fit:contain;flex-shrink:0;width:auto;max-width:min(100%,280px);height:auto;max-height:max(180px,100dvh - 275px);display:block}.view-share .share-actions{flex:none;margin-top:10px}[data-theme=dark] .bottom-nav button{color:#d3c8df}[data-theme=dark] .bottom-nav button[aria-current=page]{color:#fff7ff}.calendar-toolbar{flex-wrap:nowrap}.calendar-toolbar>.topbar-actions{flex:none;gap:8px;margin-left:auto}.calendar-toolbar .icon-button{width:44px;min-width:44px;height:44px;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;flex:none;padding:0}.calendar-toolbar .icon-button svg{stroke-width:1.5px;width:18px;height:18px}.calendar-toolbar .icon-button:hover{box-shadow:none;background:0 0;transform:none}.calendar-toolbar .icon-button:active{transform:scale(.94)}.calendar-toolbar .theme-toggle[aria-pressed=true] svg{filter:none}.calendar-toolbar .theme-toggle{order:0}.view-today .calendar-toolbar{margin-inline:0}.view-note .calendar-toolbar>.topbar-actions{order:3}@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-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}