/*! tailwindcss v4.1.18 | 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}}}@layer theme{:host,:root{--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;--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,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;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{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{.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}}:root{--wall-base:#d6d2c4;--wall-shadow:#b9b19e;--paper-base:#f7f1df;--paper-light:#fffaf0;--border-main:#b87447;--border-inner:#ca8d63;--rule-color:#875a3a73;--ink-color:#1e1a17;--sparkle-color:#ffe9b8;--control-bg:#f7f1dfe6;--control-bg-strong:#fff9e9f5;--control-border:#b87447a8;--control-text:#734324f2;--quick-link-bg:#f7f1dfe6;--quick-link-text:#734324f2;--quick-link-border:#b87447a8;--quick-link-hover-bg:#fff9e9f5;--switch-chip-color:#5e3923f0;--switch-chip-bg:#fff8e93d;--switch-chip-hover-color:#724227fa;--switch-chip-hover-bg:#fff8e98a;--switch-indicator-shadow:0 0 0 1px #fffcf3bd inset,0 8px 18px -14px #462b18d6;--sky-core:#fffff8fa;--sky-mid:#ffefc4e6;--sky-glow:#ffe6a8c7;--sky-line:#fff8e4;--sparkle-core:#fffdf3;--sparkle-mid:#ffe6aadb;--sparkle-glow:#ffdd9edb;--sparkle-line:#fff5dc;--sparkle-halo:#fff6dcc7;--meteor-core:#fffdf2fa;--meteor-mid:#fff0c4d1;--meteor-head:#fffff8;--meteor-glow:#ffe19abd;--meteor-trail-start:#fff4d100;--meteor-trail-end:#fff0c400;--font-letter:"STKaiti","KaiTi","Kaiti SC","Kaiti TC","BiauKai","DFKai-SB","Songti SC",serif;--font-romantic:"Snell Roundhand","Apple Chancery","Zapfino","Times New Roman",serif;--radius-ui:22px;--radius-ui-inner:16px;--bgm-control-bg:var(--control-bg);--bgm-control-bg-strong:var(--control-bg-strong);--bgm-control-border:var(--control-border);--bgm-control-text:var(--control-text);--bgm-border-main:var(--border-main)}.letter-stage[data-theme=moonlight],.original-stage[data-theme=moonlight]{--wall-base:#1f2b3f;--wall-shadow:#121b2c;--paper-base:#e9eff8;--paper-light:#fbfdff;--border-main:#6f86a8;--border-inner:#96abd0;--rule-color:#677da161;--ink-color:#1b2538;--sparkle-color:#dcecff;--control-bg:#111d2fa3;--control-bg-strong:#e4f0fff0;--control-border:#94add4ad;--control-text:#3b5274f5;--quick-link-bg:#1f304ce6;--quick-link-text:#e2f2fffa;--quick-link-border:#9ebfe8cc;--quick-link-hover-bg:#2d4266f0;--switch-chip-color:#deeffff7;--switch-chip-bg:#8eb1e03d;--switch-chip-hover-color:#f4fafffc;--switch-chip-hover-bg:#b1cff661;--switch-indicator-shadow:0 0 0 1px #eff7ffdb inset,0 10px 20px -15px #6a98d6eb;--sky-core:#eef8fffa;--sky-mid:#bad9ffe0;--sky-glow:#a2cdffcc;--sky-line:#dff3ff;--sparkle-core:#f0f8ff;--sparkle-mid:#c0dfffdb;--sparkle-glow:#a3cdffd9;--sparkle-line:#dcf2ff;--sparkle-halo:#bfe0ffad;--meteor-core:#e6f5fffa;--meteor-mid:#b5d6ffd6;--meteor-head:#f3faff;--meteor-glow:#98c6ffd1;--meteor-trail-start:#b5d6ff00;--meteor-trail-end:#b5d6ff00}.letter-stage[data-theme=blush],.original-stage[data-theme=blush]{--wall-base:#d79c9f;--wall-shadow:#b87985;--paper-base:#fff0e7;--paper-light:#fffaf6;--border-main:#c57a80;--border-inner:#de9ea3;--rule-color:#a8646c66;--ink-color:#3d2026;--sparkle-color:#ffe6d8;--control-bg:#fff2ebe0;--control-bg-strong:#fffbf7f7;--control-border:#c57a80b8;--control-text:#8b4850f7;--quick-link-bg:#fff2ebe6;--quick-link-text:#8b4850fa;--quick-link-border:#c57a80bd;--quick-link-hover-bg:#fff8f4f5;--switch-chip-color:#7e4048f5;--switch-chip-bg:#ffece542;--switch-chip-hover-color:#924851fc;--switch-chip-hover-bg:#ffe0d685;--switch-indicator-shadow:0 0 0 1px #fff8f4d6 inset,0 8px 18px -14px #a0555cd1;--sky-core:#fff7f4fa;--sky-mid:#ffcdbddb;--sky-glow:#ffb8a8c7;--sky-line:#ffece3;--sparkle-core:#fff7f1;--sparkle-mid:#ffcebadb;--sparkle-glow:#ffb7a4d1;--sparkle-line:#ffe9e0;--sparkle-halo:#ffd8c5ad;--meteor-core:#fff3ecfa;--meteor-mid:#ffc5b0d6;--meteor-head:#fff9f5;--meteor-glow:#ffad94c7;--meteor-trail-start:#ffc5b000;--meteor-trail-end:#ffc5b000}.letter-stage[data-theme=mist],.original-stage[data-theme=mist]{--wall-base:#c0d2c8;--wall-shadow:#9dac9f;--paper-base:#f1f7f2;--paper-light:#fbfefc;--border-main:#6f9185;--border-inner:#90afa2;--rule-color:#637e7466;--ink-color:#1e2d27;--sparkle-color:#dff0e8;--control-bg:#f2f8f4e6;--control-bg-strong:#fafdfbf7;--control-border:#6f9185b8;--control-text:#3b564df5;--quick-link-bg:#f2f8f4eb;--quick-link-text:#3b564dfa;--quick-link-border:#6f9185bd;--quick-link-hover-bg:#fafdfbfa;--switch-chip-color:#405c52f7;--switch-chip-bg:#e0f0e85c;--switch-chip-hover-color:#49685dfc;--switch-chip-hover-bg:#d4e8df94;--switch-indicator-shadow:0 0 0 1px #f8fcfae0 inset,0 8px 18px -14px #54776cd1;--sky-core:#f6fcf9fc;--sky-mid:#c7e2d7e6;--sky-glow:#b2d4c8d1;--sky-line:#e8f6f0;--sparkle-core:#f6fcf9;--sparkle-mid:#c2ded3e0;--sparkle-glow:#aecec3d6;--sparkle-line:#e1f2ea;--sparkle-halo:#c7e2d8b3;--meteor-core:#f0f9f4fa;--meteor-mid:#bad7ccdb;--meteor-head:#f9fdfb;--meteor-glow:#a6c9bdd1;--meteor-trail-start:#bad7cc00;--meteor-trail-end:#bad7cc00}.letter-stage[data-theme=drizzle],.original-stage[data-theme=drizzle]{--wall-base:#aebbc9;--wall-shadow:#8a98aa;--paper-base:#edf3fa;--paper-light:#fafcff;--border-main:#6e829a;--border-inner:#8ea2ba;--rule-color:#61758e61;--ink-color:#1b2638;--sparkle-color:#dbe8f8;--control-bg:#edf4fce0;--control-bg-strong:#f9fcfff5;--control-border:#6e829ab3;--control-text:#3b4e67f5;--quick-link-bg:#edf4fce6;--quick-link-text:#3b4e67fa;--quick-link-border:#6e829abd;--quick-link-hover-bg:#f7fbfff7;--switch-chip-color:#40546ef5;--switch-chip-bg:#dbe7f657;--switch-chip-hover-color:#495f7bfc;--switch-chip-hover-bg:#ceddf08f;--switch-indicator-shadow:0 0 0 1px #f6faffe0 inset,0 8px 18px -14px #5c7493d6;--sky-core:#f3f8fffc;--sky-mid:#c1d5f0e6;--sky-glow:#a8c1e3d1;--sky-line:#e1eefc;--sparkle-core:#f4f9ff;--sparkle-mid:#bfd4f1e0;--sparkle-glow:#a6bfe1d6;--sparkle-line:#dfedfc;--sparkle-halo:#c6d9f2b3;--meteor-core:#eff7fffa;--meteor-mid:#b9d0efdb;--meteor-head:#f8fcff;--meteor-glow:#9cb8dfd1;--meteor-trail-start:#b9d0ef00;--meteor-trail-end:#b9d0ef00}.letter-stage[data-theme=amber],.original-stage[data-theme=amber]{--wall-base:#ccb49a;--wall-shadow:#a4886f;--paper-base:#f8efdf;--paper-light:#fff8ed;--border-main:#b27b49;--border-inner:#c89868;--rule-color:#8f623e70;--ink-color:#2a1f16;--sparkle-color:#ffe4b8;--control-bg:#f9f1e1e6;--control-bg-strong:#fff9edf7;--control-border:#b27b49b8;--control-text:#744c2bf7;--quick-link-bg:#f9f1e1eb;--quick-link-text:#744c2bfa;--quick-link-border:#b27b49c2;--quick-link-hover-bg:#fff9eefa;--switch-chip-color:#684528f5;--switch-chip-bg:#ffeed057;--switch-chip-hover-color:#7a4f2dfc;--switch-chip-hover-bg:#ffe4ba8f;--switch-indicator-shadow:0 0 0 1px #fffbf3e0 inset,0 8px 18px -14px #895d38d6;--sky-core:#fffaf2fc;--sky-mid:#f5d6a6e6;--sky-glow:#e8be84d1;--sky-line:#fff0d7;--sparkle-core:#fffaf1;--sparkle-mid:#f5d4a0e0;--sparkle-glow:#e5b97cd6;--sparkle-line:#ffeed2;--sparkle-halo:#f7d8aab3;--meteor-core:#fff8edfa;--meteor-mid:#f0cb92db;--meteor-head:#fffcf6;--meteor-glow:#dfac6dd1;--meteor-trail-start:#f0cb9200;--meteor-trail-end:#f0cb9200}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(circle at 15% 10%,#ffffff40,transparent 35%),radial-gradient(circle at 85% 4%,#6e583d33,transparent 32%),linear-gradient(180deg,var(--wall-base),var(--wall-shadow));min-height:100vh;color:var(--ink-color);font-family:var(--font-letter);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.page-bottom-cat{left:calc(env(safe-area-inset-left,0px) + clamp(12px,2vw,24px));bottom:calc(env(safe-area-inset-bottom,0px) + clamp(8px,1.6vw,16px));z-index:6;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.9;width:clamp(64px,8vw,102px);filter:drop-shadow(0 12px 14px var(--ink-color));position:fixed}@supports (color:color-mix(in lab,red,red)){.page-bottom-cat{filter:drop-shadow(0 12px 14px color-mix(in srgb,var(--ink-color)20%,transparent))}}.page-bottom-cat img{width:100%;height:auto;display:block}.letter-stage{min-height:100vh;padding:calc(env(safe-area-inset-top,0px) + clamp(14px,2.4vw,24px))clamp(12px,3vw,28px)clamp(72px,8vw,104px);background:radial-gradient(circle at 15% 10%,#ffffff40,transparent 35%),radial-gradient(circle at 85% 4%,#6e583d33,transparent 32%),linear-gradient(180deg,var(--wall-base),var(--wall-shadow));flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(10px,1.6vw,18px);display:flex;position:relative;overflow:hidden}.page-tools{z-index:10;justify-items:center;gap:clamp(8px,1.2vw,12px);width:100%;max-width:980px;margin-bottom:clamp(6px,1vw,12px);display:grid;position:relative}.page-tools-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,1.2vw,12px);display:flex}.original-link,.theme-chip{pointer-events:auto}.original-link{border:1.4px solid var(--quick-link-border);border-radius:var(--radius-ui);background:var(--quick-link-bg);inline-size:max-content;min-width:6em;color:var(--quick-link-text);font-family:var(--font-letter);white-space:nowrap;box-shadow:0 10px 20px -18px #3b2412b8,0 0 0 1px var(--quick-link-border),0 0 12px var(--quick-link-border);flex:none;justify-content:center;align-items:center;padding:8px 14px;font-size:14px;line-height:1;text-decoration:none;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.original-link{box-shadow:0 10px 20px -18px #3b2412b8,0 0 0 1px color-mix(in srgb,var(--quick-link-border)28%,transparent),0 0 12px color-mix(in srgb,var(--quick-link-border)30%,transparent)}}.original-link{transition:transform .18s,box-shadow .18s,background .18s}.original-link:hover{background:var(--quick-link-hover-bg);box-shadow:0 16px 28px -18px #3b2412d6,0 0 0 1px var(--quick-link-border),0 0 22px var(--quick-link-border);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.original-link:hover{box-shadow:0 16px 28px -18px #3b2412d6,0 0 0 1px color-mix(in srgb,var(--quick-link-border)42%,transparent),0 0 22px color-mix(in srgb,var(--quick-link-border)58%,transparent)}}.original-link:focus-visible{box-shadow:0 16px 28px -18px #3b2412d6,0 0 0 1px var(--quick-link-border),0 0 22px var(--quick-link-border);outline:none}@supports (color:color-mix(in lab,red,red)){.original-link:focus-visible{box-shadow:0 16px 28px -18px #3b2412d6,0 0 0 1px color-mix(in srgb,var(--quick-link-border)42%,transparent),0 0 22px color-mix(in srgb,var(--quick-link-border)58%,transparent)}}.theme-switcher{--switch-gap:6px;align-items:center;gap:var(--switch-gap);border-radius:var(--radius-ui);border:1.4px solid var(--control-border);background:var(--control-bg);grid-template-columns:repeat(3,minmax(0,1fr));width:min(88vw,760px);max-width:100%;padding:6px;display:grid;overflow:clip}.theme-chip{border-radius:var(--radius-ui);appearance:none;cursor:pointer;min-width:0;font-family:var(--font-letter);color:var(--switch-chip-color);background:var(--switch-chip-bg);text-align:center;box-shadow:inset 0 0 0 1px var(--switch-chip-color);border:0;justify-content:center;align-items:center;padding:9px 12px;font-size:14px;line-height:1;display:flex}@supports (color:color-mix(in lab,red,red)){.theme-chip{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--switch-chip-color)18%,transparent)}}.theme-chip{transition:color .18s,text-shadow .18s,background .18s,box-shadow .18s}.theme-chip:hover{color:var(--switch-chip-hover-color);background:var(--switch-chip-hover-bg)}.theme-chip.is-active{background:var(--control-bg-strong);color:var(--control-text);text-shadow:0 0 8px var(--control-bg-strong)}@supports (color:color-mix(in lab,red,red)){.theme-chip.is-active{text-shadow:0 0 8px color-mix(in srgb,var(--control-bg-strong)70%,transparent)}}.theme-chip.is-active{box-shadow:var(--switch-indicator-shadow)}.letter-stage[data-theme=gilded]{background:radial-gradient(circle at 14% 9%,#fff7df52,#0000 34%),radial-gradient(circle at 84% 6%,#89694538,#0000 32%),linear-gradient(#d9d2c1,#b8ad96 92%)}.letter-stage[data-theme=moonlight]{background:radial-gradient(circle at 18% 8%,#a8ccff4d,#0000 34%),radial-gradient(circle at 82% 12%,#85a4d94d,#0000 31%),linear-gradient(#253552,#141f33 74%)}.letter-stage[data-theme=blush]{background:radial-gradient(circle at 16% 8%,#ffe5d866,#0000 36%),radial-gradient(circle at 86% 8%,#ffbaaf57,#0000 32%),linear-gradient(#dea5a6,#b97884 76%)}.letter-stage[data-theme=mist]{background:radial-gradient(circle at 14% 8%,#e2f2eb6b,#0000 36%),radial-gradient(circle at 84% 8%,#8fafa24d,#0000 32%),linear-gradient(#c3d5cb,#9faf9f 78%)}.letter-stage[data-theme=drizzle]{background:radial-gradient(circle at 16% 8%,#dae9fb6b,#0000 36%),radial-gradient(circle at 84% 8%,#829ab84d,#0000 32%),linear-gradient(#b2c0d0,#8b9bae 78%)}.letter-stage[data-theme=amber]{background:radial-gradient(circle at 15% 8%,#ffeed270,#0000 36%),radial-gradient(circle at 84% 8%,#b788544d,#0000 32%),linear-gradient(#d1ba9f,#a58a71 78%)}.letter-stage[data-theme=moonlight] .letter-paper{background:radial-gradient(circle at 22% 23%,#ffffff5c,#0000 36%),radial-gradient(circle at 76% 61%,#8cabdf29,#0000 42%),radial-gradient(circle at 51% -7%,#e9f4ffd6,#0000 46%),radial-gradient(circle at 51% 108%,#5c78a63d,#0000 46%),linear-gradient(#fcfeff,#eef4fc 18%,#e8eef8);box-shadow:inset 0 2px 1px #ffffffc7,0 44px 56px -44px #0c1629d6,0 20px 28px -20px #121e369e}.letter-stage[data-theme=moonlight] .letter-paper:after{background:radial-gradient(circle at 50% -4%,#6f86a82e,#0000 38%),radial-gradient(circle at 50% 104%,#6f86a852,#0000 42%)}.letter-stage[data-theme=moonlight] .corner{color:#6f86a8}.letter-stage[data-theme=moonlight] .frame-line{border-top-color:#6f86a8db}.letter-stage[data-theme=moonlight] .romantic-letters{color:#8da5cb;text-shadow:0 0 8px #bbd6fa85}.letter-stage[data-theme=moonlight] .rose-mark{filter:drop-shadow(0 0 5px #bdd6fa5c)}.letter-stage[data-theme=moonlight] .letter-line{border-bottom-style:dotted}.letter-stage[data-theme=moonlight] .letter-signature{color:#435776f2}.letter-stage[data-theme=moonlight] .meteor-orbit-layer{animation-duration:56s}.letter-stage[data-theme=blush] .letter-paper{background:radial-gradient(circle at 24% 24%,#ffffff57,#0000 36%),radial-gradient(circle at 74% 60%,#e69da42e,#0000 40%),radial-gradient(circle at 50% -9%,#fff4f0d6,#0000 44%),radial-gradient(circle at 50% 109%,#bc717933,#0000 45%),linear-gradient(#fffbf8,#fff3eb 17%,#fff0e7);box-shadow:inset 0 2px 1px #ffffffc7,0 44px 56px -44px #5f2730b8,0 20px 28px -20px #682d378f}.letter-stage[data-theme=blush] .letter-paper:after{background:radial-gradient(circle at 50% -4%,#c57a802e,#0000 38%),radial-gradient(circle at 50% 104%,#c57a8047,#0000 42%)}.letter-stage[data-theme=blush] .corner{color:#c57a80}.letter-stage[data-theme=blush] .frame-line{border-top-color:#c57a80db}.letter-stage[data-theme=blush] .romantic-letters{color:#c98791;text-shadow:0 0 8px #ffddd694}.letter-stage[data-theme=blush] .rose-mark{filter:drop-shadow(0 0 5px #ffdcd16b)}.letter-stage[data-theme=blush] .letter-signature{color:#7e424ef0}.letter-stage[data-theme=blush] .meteor-orbit-layer{animation-duration:34s}.letter-stage[data-performance=lite] .meteor-orbit-layer,.letter-stage[data-performance=lite] .meteor:nth-child(n+5),.letter-stage[data-performance=lite] .sky-sparkle:nth-child(n+11),.letter-stage[data-performance=lite] .sparkle:nth-child(n+11){display:none}.letter-stage[data-performance=lite] .sparkle{animation-duration:calc(var(--sparkle-duration,5s)*1.3)}.letter-stage[data-performance=lite] .sky-sparkle{animation-duration:calc(var(--twinkle-duration,5s)*1.3)}body[data-performance=lite] .bgm-toggle{box-shadow:0 0 0 1px var(--bgm-control-bg-strong)inset}@supports (color:color-mix(in lab,red,red)){body[data-performance=lite] .bgm-toggle{box-shadow:0 0 0 1px color-mix(in srgb,var(--bgm-control-bg-strong)62%,transparent)inset}}@media (pointer:coarse){.letter-stage .meteor-orbit-layer,.letter-stage .meteor:nth-child(n+4),.letter-stage .sky-sparkle:nth-child(n+9),.letter-stage .sparkle:nth-child(n+9){display:none}}.letter-card{z-index:4;width:min(94vw,980px);position:relative}.meteor-orbit-layer{z-index:3;pointer-events:none;contain:layout paint;animation:orbit-layer-spin 42s linear infinite;position:absolute;inset:clamp(-112px,-8vw,-68px)}.orbit-meteor{width:var(--orbit-length,150px);opacity:0;transform-origin:0;background:linear-gradient(90deg,var(--meteor-trail-start),var(--meteor-core)26%,var(--meteor-mid)60%,var(--meteor-trail-end));height:2px;box-shadow:0 0 10px var(--meteor-glow);position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab,red,red)){.orbit-meteor{box-shadow:0 0 10px color-mix(in srgb,var(--meteor-glow)55%,transparent)}}.orbit-meteor{will-change:transform,opacity;animation:orbit-meteor var(--orbit-duration,5.6s)linear var(--orbit-delay,0s)infinite}.orbit-meteor:before{content:"";background:radial-gradient(circle,var(--meteor-head),var(--meteor-mid));border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:-3px;transform:translate(50%,-50%)}.sky-sparkle-layer{z-index:1;pointer-events:none;contain:layout paint;position:absolute;inset:0}.sky-sparkle{opacity:0;background:radial-gradient(circle,var(--sky-core)0,var(--sky-mid)48%,#ffeec000 74%);box-shadow:0 0 22px var(--sky-glow);will-change:transform,opacity;animation:sky-twinkle var(--twinkle-duration,5s)ease-in-out var(--twinkle-delay,0s)infinite;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.sky-sparkle:after,.sky-sparkle:before{content:"";background:linear-gradient(90deg,transparent,var(--sky-line),transparent);width:240%;height:1.6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sky-sparkle:after{transform:translate(-50%,-50%)rotate(90deg)}.meteor-layer{z-index:2;pointer-events:none;contain:layout paint;position:absolute;inset:0;overflow:hidden}.meteor{width:var(--meteor-length,128px);opacity:0;background:linear-gradient(90deg,var(--meteor-trail-start),var(--meteor-core)28%,var(--meteor-mid)62%,var(--meteor-trail-end));height:2px;box-shadow:0 0 10px var(--meteor-glow);position:absolute}@supports (color:color-mix(in lab,red,red)){.meteor{box-shadow:0 0 10px color-mix(in srgb,var(--meteor-glow)55%,transparent)}}.meteor{will-change:transform,opacity;animation:meteor-shoot var(--meteor-duration,7s)linear var(--meteor-delay,0s)infinite;transform:rotate(-26deg)translate(-120px,-26px)}.meteor:before{content:"";background:radial-gradient(circle,var(--meteor-head),var(--meteor-mid));border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:0;transform:translate(40%,-50%)}.letter-paper{isolation:isolate;border-radius:var(--radius-ui);border:2px solid var(--border-main);background:radial-gradient(circle at 24% 26%,#ffffff38,transparent 34%),radial-gradient(circle at 70% 58%,#c795621a,transparent 38%),radial-gradient(circle at 50% -10%,#fff9,transparent 45%),radial-gradient(circle at 50% 110%,#93664533,transparent 45%),linear-gradient(180deg,var(--paper-light),var(--paper-base)17%,var(--paper-base));padding:clamp(34px,5.2vw,54px) clamp(16px,4.6vw,72px) clamp(96px,11vw,140px);position:relative;overflow:hidden;box-shadow:inset 0 2px 1px #ffffffb3,0 44px 56px -44px #3f2610bf,0 18px 26px -20px #3f26108c}.letter-paper:before{border:2px solid var(--border-inner);border-radius:var(--radius-ui-inner);inset:14px}.letter-paper:after,.letter-paper:before{content:"";z-index:1;pointer-events:none;position:absolute}.letter-paper:after{background:radial-gradient(circle at 50% -4%,#b774472e,#0000 38%),radial-gradient(circle at 50% 104%,#b7744742,#0000 42%);inset:0}.corner{width:clamp(84px,11.8vw,128px);height:clamp(84px,11.8vw,128px);color:var(--border-main);z-index:2;opacity:.95;position:absolute}.corner svg{width:100%;height:100%;display:block}.corner-tl{top:10px;left:10px}.corner-tr{top:10px;right:10px;transform:scaleX(-1)}.corner-bl{bottom:10px;left:10px;transform:scaleY(-1)}.corner-br{bottom:10px;right:10px;transform:scale(-1)}.frame-line{z-index:2;pointer-events:none;border-top:2px solid #b87447e0;height:0;position:absolute;left:clamp(114px,14.6vw,160px);right:clamp(114px,14.6vw,160px)}.frame-line-top{top:clamp(30px,4vw,40px)}.frame-line-bottom{bottom:clamp(28px,3.8vw,38px)}.sparkle-layer{z-index:2;pointer-events:none;contain:layout paint;position:absolute;inset:0;overflow:hidden}.sparkle{opacity:0;background:radial-gradient(circle,var(--sparkle-core),var(--sparkle-mid)52%,transparent 72%);box-shadow:0 0 10px var(--sparkle-glow);border-radius:1px;position:absolute;transform:translate(-50%,-50%)rotate(0)scale(.45)}@supports (color:color-mix(in lab,red,red)){.sparkle{box-shadow:0 0 10px color-mix(in srgb,var(--sparkle-glow)55%,transparent)}}.sparkle{will-change:transform,opacity;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:sparkle var(--sparkle-duration,5s)ease-in-out infinite}.sparkle:before{content:"";background:linear-gradient(90deg,transparent,var(--sparkle-line),transparent);width:220%;height:1.2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sparkle:after{content:"";background:radial-gradient(circle,var(--sparkle-halo),#ffe9b800);opacity:.9;border-radius:50%;position:absolute;inset:-16px}.letter-head{z-index:5;color:var(--border-main);place-items:center;margin-bottom:clamp(18px,3vw,28px);display:grid;position:relative}.rose-mark{width:clamp(110px,19.5vw,176px);height:auto}.romantic-letters{font-size:clamp(15px,1.8vw,22px);font-family:var(--font-romantic);letter-spacing:.05em;text-shadow:0 0 1px #b874475c;margin:4px 0 0;font-style:italic;font-weight:500}.letter-body{z-index:5;position:relative}.letter-line{border-bottom:1px dashed var(--rule-color);align-items:center;min-height:clamp(56px,5.1vw,68px);margin:0;padding:0 clamp(6px,1.2vw,10px);display:flex}.letter-line-content{white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%;min-width:0;max-width:100%;font-family:var(--font-letter);letter-spacing:.01em;color:var(--ink-color);text-shadow:0 0 .2px #28180f66;align-items:baseline;gap:.28em;font-size:clamp(20px,2.3vw,33px);font-weight:500;line-height:1.07;display:inline-flex}.letter-date{letter-spacing:.04em;opacity:.9;white-space:nowrap;flex-shrink:0;font-size:.56em;transform:translateY(-.06em)}.letter-signature{z-index:6;font-family:var(--font-letter);color:#5f3a1fe6;letter-spacing:.08em;text-shadow:0 2px 10px #ffe5bb38;margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:500;position:absolute;bottom:clamp(44px,6.3vw,74px);right:clamp(92px,9.4vw,134px)}.letter-signature span{margin:0 .08em}.letter-signature-heart{filter:drop-shadow(0 2px 3px #a5192a47);display:inline-block}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.motion-fade-up{animation:fade-up .2s ease-out both}@keyframes sparkle{0%,to{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.34)}12%{opacity:.38}26%{opacity:1;transform:translate(-50%,-50%)rotate(42deg)scale(1.2)}40%{opacity:.48}58%{opacity:1;transform:translate(-50%,-50%)rotate(90deg)scale(1.15)}78%{opacity:.34}}@keyframes sky-twinkle{0%,to{opacity:.14;transform:translate(-50%,-50%)scale(.54)}20%{opacity:.96;transform:translate(-50%,-50%)scale(1.08)}45%{opacity:.28;transform:translate(-50%,-50%)scale(.7)}68%{opacity:1;transform:translate(-50%,-50%)scale(1.18)}}@keyframes meteor-shoot{0%{opacity:0;transform:rotate(-26deg)translate(-120px,-30px)}6%{opacity:1}20%{opacity:0;transform:rotate(-26deg)translate(240px,68px)}to{opacity:0;transform:rotate(-26deg)translate(240px,68px)}}@keyframes orbit-layer-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes orbit-meteor{0%{opacity:0;transform:translate(-50%,-50%)rotate(var(--orbit-angle))translateX(calc(var(--orbit-radius) - 34px))rotate(14deg)scale(.75)}10%{opacity:.95}28%{opacity:0;transform:translate(-50%,-50%)rotate(var(--orbit-angle))translateX(calc(var(--orbit-radius) + 102px))rotate(14deg)scale(1)}to{opacity:0;transform:translate(-50%,-50%)rotate(var(--orbit-angle))translateX(calc(var(--orbit-radius) + 102px))rotate(14deg)scale(1)}}.bgm-toggle{right:clamp(14px,3vw,28px);bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:20;border:1.7px solid var(--bgm-control-border);border-radius:var(--radius-ui);background:linear-gradient(160deg,var(--bgm-control-bg-strong),var(--bgm-control-bg)),var(--bgm-control-bg);align-items:center;gap:11px;display:inline-flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.bgm-toggle{background:linear-gradient(160deg,color-mix(in srgb,var(--bgm-control-bg-strong)72%,white 28%),color-mix(in srgb,var(--bgm-control-bg)84%,var(--bgm-border-main)16%)),var(--bgm-control-bg)}}.bgm-toggle{color:var(--bgm-control-text);font-family:var(--font-letter);letter-spacing:.02em;box-shadow:0 0 0 1px var(--bgm-control-bg-strong)inset,0 18px 28px -20px var(--bgm-control-border);padding:10px 18px;font-size:15px;font-weight:500;line-height:1}@supports (color:color-mix(in lab,red,red)){.bgm-toggle{box-shadow:0 0 0 1px color-mix(in srgb,var(--bgm-control-bg-strong)66%,transparent)inset,0 18px 28px -20px color-mix(in srgb,var(--bgm-control-border)78%,#2217126b)}}.bgm-toggle{transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}.heart-rain-layer{z-index:18;pointer-events:none;contain:layout paint;opacity:0;transition:opacity .7s;position:fixed;inset:0;overflow:hidden}.heart-rain-layer.is-active{opacity:1}.heart-drop{will-change:transform,opacity;text-shadow:0 0 8px #ffffff73,0 0 18px #ffe4eb3d;filter:saturate(1.12);line-height:1;animation:heart-fall linear infinite;position:absolute;top:-10%}@keyframes heart-fall{0%{opacity:0;transform:translateY(-9vh)rotate(0)}10%{opacity:.96}50%{opacity:.94;transform:translate(20px,46vh)rotate(14deg)}to{opacity:0;transform:translate(-16px,112vh)rotate(-10deg)}}.bgm-toggle:hover{box-shadow:0 0 0 1px var(--bgm-control-bg-strong)inset,0 22px 32px -20px var(--bgm-control-border);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.bgm-toggle:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--bgm-control-bg-strong)74%,transparent)inset,0 22px 32px -20px color-mix(in srgb,var(--bgm-control-border)86%,#22171280)}}.bgm-toggle:active{transform:translateY(0)}.bgm-dot{background:var(--bgm-border-main);border-radius:999px;width:11px;height:11px}@supports (color:color-mix(in lab,red,red)){.bgm-dot{background:color-mix(in srgb,var(--bgm-border-main)84%,var(--bgm-control-bg-strong)16%)}}.bgm-dot{box-shadow:0 0 0 0 var(--bgm-border-main)}@supports (color:color-mix(in lab,red,red)){.bgm-dot{box-shadow:0 0 0 0 color-mix(in srgb,var(--bgm-border-main)56%,transparent)}}.bgm-toggle.is-playing{background:linear-gradient(160deg,var(--bgm-control-bg-strong),var(--bgm-control-bg)),var(--bgm-control-bg-strong)}@supports (color:color-mix(in lab,red,red)){.bgm-toggle.is-playing{background:linear-gradient(160deg,color-mix(in srgb,var(--bgm-control-bg-strong)84%,white 16%),color-mix(in srgb,var(--bgm-control-bg)72%,var(--bgm-border-main)28%)),var(--bgm-control-bg-strong)}}.bgm-toggle.is-playing{border-color:var(--bgm-border-main)}@supports (color:color-mix(in lab,red,red)){.bgm-toggle.is-playing{border-color:color-mix(in srgb,var(--bgm-border-main)74%,var(--bgm-control-border)26%)}}.bgm-toggle.is-playing .bgm-dot{animation:bgm-pulse 1.4s ease-out infinite}@keyframes bgm-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--bgm-border-main)54%,transparent)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@media (max-width:768px){.letter-stage{padding:calc(env(safe-area-inset-top,0px) + 16px)clamp(14px,4.4vw,20px)clamp(78px,12vw,110px);gap:14px}.page-tools{gap:10px;width:calc(100vw - 2*clamp(14px,4.4vw,20px));max-width:560px;margin-bottom:12px}.page-tools-links{justify-content:center;width:100%}.original-link{inline-size:max-content;flex:none;min-width:0;padding:8px 13px;font-size:13px}.theme-switcher{border-radius:var(--radius-ui);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-width:100%;padding:7px}.theme-chip{white-space:nowrap;padding:9px 7px;font-size:clamp(11px,3vw,13px)}.letter-paper{padding:26px 16px 78px;box-shadow:inset 0 1px 1px #ffffffb3,0 24px 30px -24px #3f2610a6,0 10px 16px -12px #3f261073}.letter-paper:before{inset:10px}.frame-line{border-top-width:1.5px;left:76px;right:76px}.meteor{width:calc(var(--meteor-length,128px)*.75)}.meteor-orbit-layer{inset:-64px}.orbit-meteor{width:calc(var(--orbit-length,150px)*.7);height:1.6px}.corner{width:74px;height:74px}.letter-head{margin-bottom:12px}.letter-line{min-height:clamp(46px,10.2vw,58px)}.letter-line-content{font-size:clamp(17px,4.7vw,26px)}.letter-date{font-size:.6em}.letter-signature{letter-spacing:.06em;font-size:clamp(18px,4.6vw,24px);bottom:clamp(34px,7.2vw,46px);right:clamp(72px,14.2vw,104px)}.bgm-toggle{left:50%;right:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);padding:9px 16px;font-size:13px;transform:translate(-50%)}.page-bottom-cat{width:clamp(54px,16vw,78px);left:calc(env(safe-area-inset-left,0px) + 10px);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);opacity:.84}.bgm-toggle:hover{transform:translate(-50%)translateY(-1px)}.bgm-toggle:active{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.motion-fade-up,.sky-sparkle{animation:none!important}.sky-sparkle{opacity:.34}.meteor{opacity:0}.meteor,.meteor-orbit-layer,.orbit-meteor{animation:none!important}.orbit-meteor{opacity:0}.sparkle{opacity:.34;animation:none!important}.heart-rain-layer{opacity:0;transition:none}.bgm-toggle.is-playing .bgm-dot,.heart-drop{animation:none!important}.page-bottom-cat{transform:none!important}}.original-stage{min-height:100vh;padding:calc(env(safe-area-inset-top,0px) + clamp(72px,9vw,104px))16px clamp(24px,4vw,40px);background:radial-gradient(circle at 14% 10%,#ffffff4d,transparent 36%),radial-gradient(circle at 85% 5%,var(--border-main),transparent 30%),linear-gradient(180deg,var(--wall-base),var(--wall-shadow));place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.original-stage{background:radial-gradient(circle at 14% 10%,#ffffff4d,transparent 36%),radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--border-main)18%,transparent),transparent 30%),linear-gradient(180deg,var(--wall-base),var(--wall-shadow))}}.original-stage[data-theme=moonlight]{background:radial-gradient(circle at 18% 8%,#a8ccff4d,#0000 34%),radial-gradient(circle at 82% 12%,#85a4d94d,#0000 31%),linear-gradient(#253552,#141f33 74%)}.original-stage[data-theme=blush]{background:radial-gradient(circle at 16% 8%,#ffe5d866,#0000 36%),radial-gradient(circle at 86% 8%,#ffbaaf57,#0000 32%),linear-gradient(#dea5a6,#b97884 76%)}.original-stage[data-theme=mist]{background:radial-gradient(circle at 14% 8%,#e2f2eb6b,#0000 36%),radial-gradient(circle at 84% 8%,#8fafa24d,#0000 32%),linear-gradient(#c3d5cb,#9faf9f 78%)}.original-stage[data-theme=drizzle]{background:radial-gradient(circle at 16% 8%,#dae9fb6b,#0000 36%),radial-gradient(circle at 84% 8%,#829ab84d,#0000 32%),linear-gradient(#b2c0d0,#8b9bae 78%)}.original-stage[data-theme=amber]{background:radial-gradient(circle at 15% 8%,#ffeed270,#0000 36%),radial-gradient(circle at 84% 8%,#b788544d,#0000 32%),linear-gradient(#d1ba9f,#a58a71 78%)}.original-card{border-radius:var(--radius-ui);border:2px solid var(--border-main);background:radial-gradient(circle at 20% 12%,#ffffff38,transparent 38%),linear-gradient(180deg,var(--paper-light),var(--paper-base));width:min(96vw,920px);box-shadow:0 2px 1px #ffffffb8 inset,0 32px 40px -34px var(--ink-color);padding:clamp(18px,3.5vw,28px)}@supports (color:color-mix(in lab,red,red)){.original-card{box-shadow:0 2px 1px #ffffffb8 inset,0 32px 40px -34px color-mix(in srgb,var(--ink-color)34%,transparent)}}.original-image{border-radius:var(--radius-ui-inner);border:1.6px solid var(--border-main);width:100%;height:auto;display:block}@supports (color:color-mix(in lab,red,red)){.original-image{border:1.6px solid color-mix(in srgb,var(--border-main)54%,transparent)}}.original-image{background:var(--paper-light)}@supports (color:color-mix(in lab,red,red)){.original-image{background:color-mix(in srgb,var(--paper-light)90%,white 10%)}}.original-back-link{border-radius:var(--radius-ui);border:1.4px solid var(--quick-link-border);background:var(--quick-link-bg);color:var(--quick-link-text);font-size:14px;font-family:var(--font-letter);justify-content:center;align-items:center;padding:8px 14px;line-height:1;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;box-shadow:0 10px 20px -16px #3f2610a8}.original-back-link:hover{background:var(--quick-link-hover-bg);transform:translateY(-1px);box-shadow:0 14px 24px -16px #3f2610bd}.original-back-link-top{top:calc(env(safe-area-inset-top,0px) + 12px);left:calc(env(safe-area-inset-left,0px) + clamp(10px,2.8vw,24px));z-index:32;margin:0;position:fixed;right:auto;transform:none}.bookshelf-stage{gap:clamp(12px,1.8vw,20px);padding-bottom:clamp(84px,10vw,124px)}.bookshelf-panel{z-index:4;border-radius:var(--radius-ui);border:2px solid var(--border-main);width:min(94vw,980px);position:relative}@supports (color:color-mix(in lab,red,red)){.bookshelf-panel{border:2px solid color-mix(in srgb,var(--border-main)84%,transparent)}}.bookshelf-panel{background:radial-gradient(circle at 16% 10%,#ffffff42,transparent 38%),linear-gradient(180deg,var(--paper-light),var(--paper-base))}@supports (color:color-mix(in lab,red,red)){.bookshelf-panel{background:radial-gradient(circle at 16% 10%,#ffffff42,transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--paper-light)88%,white 12%),var(--paper-base))}}.bookshelf-panel{padding:clamp(20px,4vw,36px) clamp(14px,3.8vw,30px) clamp(24px,4.4vw,38px);box-shadow:inset 0 2px 1px #ffffffb8,0 44px 56px -44px #3f2610b3}.letter-stage[data-theme=moonlight] .bookshelf-panel{background:radial-gradient(circle at 18% 12%,#ffffff57,#0000 38%),radial-gradient(circle at 78% 58%,#8dacde29,#0000 42%),linear-gradient(#f9fcff,#edf4fd 20%,#e7effa);border-color:#89a2c8d1;box-shadow:inset 0 2px 1px #ffffffc7,0 44px 56px -44px #0c1629d6,0 20px 28px -20px #121e369e}.bookshelf-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:clamp(16px,2.8vw,24px);display:flex}.bookshelf-heading{gap:6px;display:grid}.bookshelf-kicker{font-family:var(--font-romantic);color:var(--border-main);margin:0;font-size:clamp(16px,2.3vw,24px)}@supports (color:color-mix(in lab,red,red)){.bookshelf-kicker{color:color-mix(in srgb,var(--border-main)82%,#f7e0be 18%)}}.bookshelf-kicker{letter-spacing:.06em}.bookshelf-title{color:var(--ink-color);margin:0;font-size:clamp(28px,4.8vw,42px);font-weight:500;line-height:1.1}@supports (color:color-mix(in lab,red,red)){.bookshelf-title{color:color-mix(in srgb,var(--ink-color)88%,#2a1a11 12%)}}.bookshelf-toolbar{justify-items:end;gap:8px;display:grid}.bookshelf-view-switch{border-radius:var(--radius-ui);border:1.4px solid var(--control-border);background:var(--control-bg);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;display:inline-grid}.bookshelf-view-chip{appearance:none;cursor:pointer;border-radius:var(--radius-ui);min-width:7em;font-family:var(--font-letter);color:var(--switch-chip-color);background:var(--switch-chip-bg);border:0;justify-content:center;align-items:center;padding:8px 14px;font-size:14px;line-height:1;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.bookshelf-view-chip:hover{color:var(--switch-chip-hover-color);background:var(--switch-chip-hover-bg)}.bookshelf-view-chip.is-active{color:var(--control-text);background:var(--control-bg-strong);box-shadow:var(--switch-indicator-shadow)}.bookshelf-view-hint{letter-spacing:.01em;color:var(--ink-color);margin:0;font-size:12.5px}@supports (color:color-mix(in lab,red,red)){.bookshelf-view-hint{color:color-mix(in srgb,var(--ink-color)48%,#8d6f58 52%)}}.bookshelf-view-hint{opacity:.72}.bookshelf-groups{gap:18px;display:grid}.bookshelf-group{gap:10px;display:grid}.bookshelf-group-title{color:var(--ink-color);margin:0;font-size:clamp(20px,2.8vw,28px);font-weight:500}@supports (color:color-mix(in lab,red,red)){.bookshelf-group-title{color:color-mix(in srgb,var(--ink-color)84%,#43271a 16%)}}.bookshelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2.2vw,18px);display:grid}.envelope-card{--envelope-main:var(--paper-base)}@supports (color:color-mix(in lab,red,red)){.envelope-card{--envelope-main:color-mix(in srgb,var(--paper-base)88%,white 12%)}}.envelope-card{--envelope-accent:var(--border-main)}@supports (color:color-mix(in lab,red,red)){.envelope-card{--envelope-accent:color-mix(in srgb,var(--border-main)74%,#f0d6ac 26%)}}.envelope-card{--envelope-ink:var(--ink-color)}@supports (color:color-mix(in lab,red,red)){.envelope-card{--envelope-ink:color-mix(in srgb,var(--ink-color)88%,#4f2f1f 12%)}}.envelope-card{border-radius:var(--radius-ui);min-height:222px;color:inherit;background:radial-gradient(circle at 14% 8%,#ffffff4d,transparent 38%),linear-gradient(180deg,var(--envelope-main),var(--envelope-main));padding:10px;text-decoration:none;display:block;position:relative}@supports (color:color-mix(in lab,red,red)){.envelope-card{background:radial-gradient(circle at 14% 8%,#ffffff4d,transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--envelope-main)90%,white 10%),var(--envelope-main))}}.envelope-card{border:1.4px solid var(--envelope-accent)}@supports (color:color-mix(in lab,red,red)){.envelope-card{border:1.4px solid color-mix(in srgb,var(--envelope-accent)68%,transparent)}}.envelope-card{transition:transform .22s,box-shadow .22s;overflow:hidden;box-shadow:0 20px 28px -24px #432812cc}.envelope-card[data-tone=moonlight]{--envelope-main:#edf3fd;--envelope-accent:#7c96be;--envelope-ink:#253651}.envelope-card[data-tone=blush]{--envelope-main:#fff1ea;--envelope-accent:#ca7d84;--envelope-ink:#4a252a}.envelope-card:hover{transform:translateY(-2px);box-shadow:0 24px 34px -24px #432812e6}.envelope-shell{pointer-events:none;position:absolute;inset:0}.envelope-body{border-radius:var(--radius-ui);border:1.6px solid var(--envelope-accent);height:60%;position:absolute;bottom:8px;left:8px;right:8px}@supports (color:color-mix(in lab,red,red)){.envelope-body{border:1.6px solid color-mix(in srgb,var(--envelope-accent)70%,transparent)}}.envelope-body{background:var(--envelope-main)}@supports (color:color-mix(in lab,red,red)){.envelope-body{background:color-mix(in srgb,var(--envelope-main)86%,white 14%)}}.envelope-flap{transform-origin:50% 0;clip-path:polygon(0 0,50% 86%,100% 0);background:linear-gradient(180deg,var(--envelope-main),var(--envelope-main));border:0;height:61%;position:absolute;top:8px;left:8px;right:8px}@supports (color:color-mix(in lab,red,red)){.envelope-flap{background:linear-gradient(180deg,color-mix(in srgb,var(--envelope-main)78%,white 22%),color-mix(in srgb,var(--envelope-main)92%,var(--envelope-accent)8%))}}.envelope-flap{z-index:2;transition:transform .32s}.envelope-flap:before{content:"";background:var(--envelope-accent);border-radius:999px;height:1.6px;position:absolute;top:0;left:3%;right:3%}@supports (color:color-mix(in lab,red,red)){.envelope-flap:before{background:color-mix(in srgb,var(--envelope-accent)66%,transparent)}}.envelope-seal{isolation:isolate;width:52px;height:46px;color:var(--envelope-main);border-radius:44% 56% 48% 52%/56% 46% 54% 44%;place-items:center;display:grid;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.envelope-seal{color:color-mix(in srgb,var(--envelope-main)94%,white 6%)}}.envelope-seal{background:var(--envelope-accent)}@supports (color:color-mix(in lab,red,red)){.envelope-seal{background:color-mix(in srgb,var(--envelope-accent)84%,#ba6e42 16%)}}.envelope-seal{box-shadow:0 10px 16px -12px var(--envelope-accent),0 1px 0 #fff5e842 inset}@supports (color:color-mix(in lab,red,red)){.envelope-seal{box-shadow:0 10px 16px -12px color-mix(in srgb,var(--envelope-accent)56%,transparent),0 1px 0 #fff5e842 inset}}.envelope-seal{letter-spacing:.02em;text-shadow:0 1px #5b2c153d;z-index:3;font-size:17px;font-weight:600;transition:opacity .2s}.envelope-seal:before{content:"";background:var(--envelope-accent);border-radius:47% 53% 44% 56%/58% 42% 54% 46%;position:absolute;inset:-3px}@supports (color:color-mix(in lab,red,red)){.envelope-seal:before{background:color-mix(in srgb,var(--envelope-accent)80%,#b76b40 20%)}}.envelope-seal:before{z-index:-2;filter:saturate(1.06)}.envelope-seal:after{content:"";z-index:-1;background:radial-gradient(#fff0dc52 0,#fff0dc1f 58%,#fff0dc00 100%);border-radius:54% 46% 56% 44%;width:62%;height:52%;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.envelope-stamp{border-radius:var(--radius-ui);border:1px dashed var(--envelope-accent);padding:4px 8px;position:absolute;top:16px;right:18px}@supports (color:color-mix(in lab,red,red)){.envelope-stamp{border:1px dashed color-mix(in srgb,var(--envelope-accent)68%,transparent)}}.envelope-stamp{color:var(--envelope-ink)}@supports (color:color-mix(in lab,red,red)){.envelope-stamp{color:color-mix(in srgb,var(--envelope-ink)80%,var(--envelope-accent)20%)}}.envelope-stamp{background:var(--envelope-main)}@supports (color:color-mix(in lab,red,red)){.envelope-stamp{background:color-mix(in srgb,var(--envelope-main)82%,white 18%)}}.envelope-stamp{z-index:4;font-size:12px}.envelope-letter{z-index:1;border-radius:var(--radius-ui-inner);border:1.4px solid var(--envelope-accent);min-height:176px;margin:14px 12px 10px;position:relative}@supports (color:color-mix(in lab,red,red)){.envelope-letter{border:1.4px solid color-mix(in srgb,var(--envelope-accent)54%,transparent)}}.envelope-letter{background:linear-gradient(180deg,var(--paper-light),var(--paper-base));border-top-color:#0000;border-left-color:#0000;border-right-color:#0000}@supports (color:color-mix(in lab,red,red)){.envelope-letter{background:linear-gradient(180deg,color-mix(in srgb,var(--paper-light)92%,white 8%),var(--paper-base))}}.envelope-letter{color:var(--envelope-ink);padding:0;transition:transform .32s;overflow:hidden;transform:translateY(20px);box-shadow:0 14px 22px -20px #432812b3}.envelope-letter-content{filter:blur(2.2px);opacity:.56;align-content:start;gap:5px;height:100%;padding:12px 14px 16px;transition:filter .24s,opacity .24s,transform .24s;display:grid;transform:scale(.995)}.envelope-letter-veil{z-index:2;background:linear-gradient(164deg,#fff3,#f7efe157),radial-gradient(circle at 22% 16%,#fff3,#0000 42%);transition:opacity .24s;position:absolute;inset:0}.envelope-letter-veil:before{content:"";background:radial-gradient(130% 120% at 0 0,var(--envelope-main)0,var(--envelope-main)58%,#fff0 100%);width:30px;height:44px;position:absolute;top:-1px;left:-1px}@supports (color:color-mix(in lab,red,red)){.envelope-letter-veil:before{background:radial-gradient(130% 120% at 0 0,color-mix(in srgb,var(--envelope-main)88%,white 12%)0,color-mix(in srgb,var(--envelope-main)90%,white 10%)58%,#fff0 100%)}}.envelope-letter-title{font-size:clamp(20px,2.4vw,26px);font-weight:500;line-height:1.14}.envelope-letter-meta{opacity:.84;font-size:13px}.envelope-letter-excerpt{opacity:.9;margin-top:2px;font-size:14px;line-height:1.5}.envelope-card.is-opening .envelope-flap{transform:rotateX(176deg)}.envelope-card.is-opening .envelope-letter{transform:translateY(-4px)}.envelope-card.is-opening .envelope-seal{opacity:0}.envelope-card.is-opening .envelope-letter-content{filter:blur();opacity:1;transform:scale(1)}.envelope-card.is-opening .envelope-letter-veil{opacity:0}.note-letter-card{width:min(94vw,980px)}.note-paper{border-radius:var(--radius-ui);border:2px solid var(--border-main);background:radial-gradient(circle at 20% 12%,#ffffff3d,transparent 36%),linear-gradient(180deg,var(--paper-light),var(--paper-base));padding:clamp(26px,4.8vw,42px) clamp(16px,4.8vw,60px) clamp(44px,8vw,68px);position:relative;box-shadow:inset 0 2px 1px #ffffffb8,0 42px 52px -44px #3f2610b8,0 18px 26px -20px #3f26108f}.note-paper:before{content:"";border-radius:var(--radius-ui-inner);border:1.8px solid var(--border-inner);position:absolute;inset:12px}@supports (color:color-mix(in lab,red,red)){.note-paper:before{border:1.8px solid color-mix(in srgb,var(--border-inner)84%,transparent)}}.note-paper:before{pointer-events:none}.note-body,.note-head{z-index:1;position:relative}.note-head{border-bottom:1px dashed var(--rule-color);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:16px;padding-bottom:12px;display:flex}.note-title{margin:0;font-size:clamp(26px,3.2vw,36px);line-height:1.14}.note-date-mark{color:var(--ink-color);margin:0;font-size:clamp(15px,1.8vw,19px)}@supports (color:color-mix(in lab,red,red)){.note-date-mark{color:color-mix(in srgb,var(--ink-color)82%,#6f432d 18%)}}.note-body{gap:10px;display:grid}.note-closing,.note-paragraph,.note-salutation,.note-signature{color:var(--ink-color);margin:0;font-size:clamp(20px,2.3vw,30px);line-height:1.55}.note-paragraph{text-indent:2em}.note-closing,.note-signature{margin-top:clamp(12px,2.4vw,20px)}.note-signature{text-align:right;letter-spacing:.04em}@media (max-width:768px){.bookshelf-panel{padding:18px 14px 24px}.bookshelf-header{align-items:stretch;gap:14px}.bookshelf-title{font-size:clamp(24px,8vw,34px)}.bookshelf-toolbar{justify-items:start;gap:10px;width:100%}.bookshelf-view-switch{gap:7px;width:100%;padding:7px}.bookshelf-view-chip{min-width:0}.bookshelf-view-hint{opacity:.66;font-size:12px}.bookshelf-grid{grid-template-columns:1fr}.envelope-card{min-height:208px}.envelope-letter{min-height:162px;transform:translateY(16px)}.note-paper{padding:24px 16px 42px}.note-head{gap:8px;margin-bottom:18px;padding-bottom:14px;display:grid}.note-title{font-size:clamp(22px,8.2vw,32px);line-height:1.16}.note-date-mark{font-size:clamp(14px,4.3vw,17px)}.note-body{gap:12px}.note-closing,.note-paragraph,.note-salutation,.note-signature{font-size:clamp(16px,4.6vw,22px);line-height:1.64}.note-paragraph{text-indent:1.8em}}@media (prefers-reduced-motion:reduce){.envelope-card,.envelope-flap,.envelope-letter,.envelope-letter-content,.envelope-letter-veil,.envelope-seal{transition:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}