:root{--ink:#0d0508;--night:#1a0810;--wine:#5e1128;--crimson:#8e1b36;--crimson-hi:#b3304f;--gold:#c9a45c;--gold-hi:#e6cc92;--gold-line:#c9a45c73;--cream:#f5ead7;--cream-dim:#f5ead7b8;--paper:#fbf4e6;--paper-2:#efe0c5;--text:#2b1117;--text-sub:#6f5650;--rose:#eaa6b0;--serif:"Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--hand:"Klee One", "Hiragino Maru Gothic ProN", var(--serif);--latin:"Cormorant Garamond", Georgia, serif;--radius:16px;--safe-b:env(safe-area-inset-bottom,0px);--col:480px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--serif);color:var(--cream);background-color:var(--ink);background-image:radial-gradient(120% 60% at 50% -10%, #8e1b368c, transparent 60%), radial-gradient(4px 4px at 12% 18%, #ffc4788c, transparent), radial-gradient(6px 6px at 82% 12%, #ffc47866, transparent), radial-gradient(3px 3px at 64% 26%, #aab4ff73, transparent), radial-gradient(5px 5px at 30% 34%, #ffc4784d, transparent), radial-gradient(3px 3px at 90% 40%, #ffc47859, transparent), linear-gradient(180deg, #1c0911 0%, #12060b 45%, var(--ink) 100%);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-attachment:fixed;margin:0;line-height:1.8}button,a{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:10px}h1,h2,h3{margin:0;font-weight:700;line-height:1.4}.app{max-width:var(--col);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.main{flex:1;padding:0 16px 24px}.eyebrow{font-family:var(--latin);letter-spacing:.32em;color:var(--gold);margin:0;font-size:.78rem;font-weight:600}.btn{letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 22px;font-weight:700;text-decoration:none;transition:transform .15s,filter .15s,background .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn--primary{color:#fff6ea;background:linear-gradient(180deg, var(--crimson-hi), var(--crimson) 55%, var(--wine));border:1px solid #e6cc9273;box-shadow:0 6px 20px #8e1b3673,inset 0 1px #ffdcc840}.btn--primary:disabled{filter:grayscale(.6)brightness(.7)}.btn--ghost{color:var(--gold-hi);border:1px solid var(--gold-line);background:#14060b66}.btn--block{width:100%}.link{color:var(--gold);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--gold-line);text-decoration-color:var(--gold-line);align-items:center;gap:6px;padding:12px 8px;font-size:.9rem;display:inline-flex}.icon-btn{width:44px;height:44px;color:var(--gold-hi);border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-btn--round{border:1px solid var(--gold-line);background:#14060ba6;width:52px;height:52px;transition:transform .15s,background .2s,color .2s}.icon-btn--round:active{transform:scale(.94)}.icon-btn--round.is-on{color:#ff8fa3;border-color:#ff8fa399;animation:.35s pop}.hint{text-align:center;color:var(--cream-dim);margin:12px 0;font-size:.78rem}.topbar{z-index:20;padding:8px 8px 8px 14px;padding-top:max(8px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(8px);background:linear-gradient(#0d0508eb,#0d0508b3);border-bottom:1px solid #c9a45c2e;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar__brand{min-height:44px;font-family:var(--latin);letter-spacing:.24em;color:var(--gold);align-items:center;gap:8px;font-size:.82rem;font-weight:600;display:inline-flex}.topbar__btn{width:44px;height:44px;color:var(--gold-hi);place-items:center;display:grid;position:relative}.badge{background:var(--crimson-hi);color:#fff;min-width:18px;height:18px;font-size:.68rem;font-family:var(--latin);text-align:center;border-radius:9px;padding:0 5px;font-weight:600;line-height:18px;position:absolute;top:4px;right:2px}.portrait__mirror{box-shadow:0 0 0 3px var(--gold), 0 0 0 7px #0d0508e6, 0 0 0 8px var(--gold-line), 0 18px 50px #0009, 0 0 60px #c9a45c2e;background:radial-gradient(circle at 50% 40%,#3b0f1e,#12050a 75%);border-radius:50%;position:relative;overflow:hidden}.portrait--hero .portrait__mirror{width:168px;height:208px;margin:16px auto 18px}.portrait--avatar .portrait__mirror{width:48px;height:48px;box-shadow:0 0 0 2px var(--gold), 0 4px 14px #00000080}.portrait img{object-fit:cover;object-position:52% 40%;width:100%;height:100%;display:block}.portrait--avatar img{transform-origin:52% 44%;transform:scale(1.9)}.portrait__placeholder{align-content:center;place-items:center;gap:10px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.portrait__placeholder small{color:var(--cream-dim);letter-spacing:.1em;font-size:.66rem}.portrait__placeholder .bokeh{background:radial-gradient(10px 10px at 22% 30%,#ffc47859,#0000),radial-gradient(14px 14px at 74% 22%,#ffc47840,#0000),radial-gradient(8px 8px at 64% 70%,#aab4ff40,#0000),radial-gradient(12px 12px at 30% 76%,#ffc47833,#0000);position:absolute;top:0;bottom:0;left:0;right:0}.portrait--avatar .bokeh{display:none}.seal{filter:drop-shadow(0 3px 6px #00000073);display:block}.hero{text-align:center;padding:4px 0 8px;animation:.6s both rise}.hero__title{letter-spacing:.08em;color:var(--cream);text-shadow:0 2px 24px #000c;margin:0 0 6px;font-size:clamp(2rem,9vw,2.6rem)}.hero__title span{color:var(--gold-hi)}.hero__lead{word-break:auto-phrase;text-wrap:balance;max-width:22em;color:var(--cream-dim);margin:0 auto;font-size:.95rem}.section-title{letter-spacing:.1em;color:var(--cream);justify-content:center;align-items:center;gap:12px;margin:30px 0 14px;font-size:1.12rem;display:flex}.section-title__orn{background:linear-gradient(90deg, transparent, var(--gold));width:34px;height:1px}.section-title__orn:last-child{transform:scaleX(-1)}.cat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cat{text-align:left;border-radius:var(--radius);border:1px solid var(--gold-line);background:linear-gradient(160deg, #8e1b3661, #14060bd9 70%), var(--night);justify-items:start;min-height:118px;padding:14px 14px 12px;transition:transform .15s,border-color .2s;animation:.5s both rise;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #e6cc9226,0 8px 24px #00000059}.cat:nth-child(2){animation-delay:60ms}.cat:nth-child(3){animation-delay:.12s}.cat:nth-child(4){animation-delay:.18s}.cat:active{border-color:var(--gold);transform:scale(.97)}.cat__glyph{color:#c9a45c29;font-size:2.6rem;line-height:1;position:absolute;top:4px;right:10px}.cat--love .cat__glyph{color:#ea788c3d}.cat__en{font-family:var(--latin);letter-spacing:.26em;color:var(--gold);font-size:.7rem}.cat__label{letter-spacing:.06em;margin-top:2px;font-size:1.3rem;font-weight:700}.cat__hint{word-break:auto-phrase;color:var(--cream-dim);margin-top:4px;font-size:.72rem;line-height:1.5}.pick__note{text-align:center;color:var(--gold);letter-spacing:.12em;margin:12px 0 0;font-size:.78rem}.daily{margin-top:30px;scroll-margin-top:76px}.envelope{text-align:center;width:100%;color:var(--text);background:radial-gradient(120% 80% at 50% 0%, #ffffff80, transparent 60%), linear-gradient(180deg, var(--paper), var(--paper-2));border:1px solid #c9ab76;border-radius:14px;padding:58px 22px 22px;transition:transform .2s;display:block;position:relative;overflow:hidden;box-shadow:0 16px 40px #0000008c,inset 0 0 0 6px #ffffff59,inset 0 0 0 7px #b9965a59}.envelope:active{transform:scale(.985)}.envelope__flap{clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 2px #78501e40);background:linear-gradient(#e9d6b2,#dcc398);height:64px;position:absolute;top:0;bottom:auto;left:0;right:0}.envelope__seal{z-index:1;position:absolute;top:30px;left:50%;transform:translate(-50%)}.envelope:not(.is-opened) .envelope__seal{animation:3.2s ease-in-out infinite breathe}.envelope__body{gap:4px;padding-top:30px;display:grid}.envelope__date{color:var(--text-sub);letter-spacing:.12em;font-size:.8rem}.envelope__title{color:var(--crimson);letter-spacing:.1em;word-break:auto-phrase;text-wrap:balance;font-size:1.08rem;font-weight:700}.envelope__sub{color:var(--text-sub);font-size:.86rem}.envelope__quote{color:var(--text);margin:4px 0;font-size:1rem;font-weight:700;line-height:1.7}.envelope__cta{color:var(--crimson);letter-spacing:.12em;border:1px solid #8e1b3680;border-radius:999px;justify-self:center;margin-top:10px;padding:8px 22px;font-size:.9rem;font-weight:700}.flow{padding-top:6px;animation:.35s both fade}.flow__head{align-items:center;gap:8px;margin:0 -6px;display:flex}.steps{flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{background:#c9a45c33;border-radius:2px;flex:1;height:3px;transition:background .3s}.steps li.is-done{background:var(--gold)}.steps li.is-current{background:linear-gradient(90deg, var(--gold), var(--crimson-hi))}.flow__count{font-family:var(--latin);letter-spacing:.12em;color:var(--cream-dim);padding-right:6px;font-size:.8rem}.flow__count b{color:var(--gold-hi);font-size:1rem}.crumbs{flex-wrap:wrap;gap:6px;margin:10px 0 0;font-size:.76rem;display:flex}.crumbs span{border:1px solid var(--gold-line);color:var(--gold-hi);background:#8e1b3633;border-radius:999px;padding:2px 10px}.speech{align-items:flex-start;gap:12px;margin:18px 0 6px;display:flex}.speech__bubble{word-break:auto-phrase;font-family:var(--hand);color:var(--cream);background:#f5ead714;border:1px solid #c9a45c4d;border-radius:4px 16px 16px;margin:0;padding:10px 14px;font-size:.95rem;font-weight:600;line-height:1.7;position:relative}.flow__q{word-break:auto-phrase;text-wrap:balance;letter-spacing:.06em;margin:18px 0 14px;font-size:1.35rem}.options{gap:10px;margin:0;padding:0;list-style:none;display:grid}.options li{animation:.4s both rise}.option{text-align:left;width:100%;min-height:56px;color:var(--text);background:linear-gradient(180deg, var(--paper), var(--paper-2));border:1px solid #c9ab76;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:1.02rem;font-weight:500;line-height:1.5;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 6px 16px #00000059}.option:active{background:linear-gradient(180deg, #fff, var(--paper));transform:scale(.985);box-shadow:0 2px 8px #00000059}.option__arrow{color:var(--crimson);font-size:1.4rem;line-height:1}.writing{text-align:center;place-content:center;justify-items:center;gap:18px;width:100%;min-height:70dvh;animation:.3s both fade;display:grid}.candle{width:26px;height:120px;position:relative}.candle__body{background:linear-gradient(90deg,#e8dcc6,#fbf4e6 45%,#d6c4a4);border-radius:4px 4px 2px 2px;width:26px;height:84px;position:absolute;bottom:0;left:0}.candle__flame{transform-origin:50% 90%;background:radial-gradient(circle at 50% 70%,#fff7d6,#ffc35a 45%,#ff78284d 75%,#0000);border-radius:50% 50% 45% 45%/65% 65% 35% 35%;width:16px;height:30px;margin-left:-8px;animation:1.1s ease-in-out infinite alternate flicker;position:absolute;bottom:84px;left:50%;box-shadow:0 0 40px 18px #ffaa4647}.writing__text{font-family:var(--hand);color:var(--cream);font-size:1.05rem;font-weight:600}.writing__skip{color:var(--cream-dim);font-size:.74rem}.result{padding-top:34px}.letter{color:var(--text);background:radial-gradient(130% 60% at 50% 0%, #ffffff8c, transparent 55%), radial-gradient(90% 50% at 50% 110%, #aa783c2e, transparent), linear-gradient(180deg, var(--paper), var(--paper-2));border-radius:6px;padding:44px 22px 30px;animation:.7s cubic-bezier(.2,.8,.2,1) both unfold;position:relative;box-shadow:0 24px 60px #0009,inset 0 0 0 8px #ffffff4d,inset 0 0 0 9px #b9965a8c,inset 0 0 0 13px #0000,inset 0 0 0 14px #b9965a4d}.letter__seal{animation:.6s cubic-bezier(.3,1.6,.5,1) .25s both stamp;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.letter__head{text-align:center}.letter__eyebrow{font-family:var(--latin);letter-spacing:.26em;color:#9a7a3d;margin:0;font-size:.72rem;font-weight:600}.letter__heading{letter-spacing:.18em;color:var(--text-sub);margin:2px 0 0;font-size:.86rem}.letter__path{color:var(--text-sub);flex-wrap:wrap;justify-content:center;gap:4px 6px;margin:10px 0 0;font-size:.72rem;display:flex}.letter__path span:not(:last-child):after{content:"›";color:#b89a64;margin-left:6px}.letter__quote{letter-spacing:.04em;text-align:center;color:var(--crimson);text-wrap:balance;word-break:auto-phrase;margin:22px 0 0;font-size:clamp(1.45rem,6.4vw,1.75rem);font-weight:700;line-height:1.65}.orn{width:200px;height:14px;margin:18px auto;position:relative}.orn:before{content:"";background:linear-gradient(90deg,#0000,#b89a64 35%,#0000 45% 55%,#b89a64 65%,#0000);height:1px;position:absolute;top:50%;bottom:auto;left:0;right:0}.orn:after{content:"";background:#b89a64;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.letter__body{margin:0;font-size:.98rem;line-height:2}.letter__advice{color:#fbeee0;background:linear-gradient(160deg, var(--crimson), var(--wine));border-radius:10px;margin:22px 0 0;padding:16px 18px 14px;box-shadow:inset 0 0 0 1px #e6cc9259,0 8px 18px #5e112859}.letter__advice h3{letter-spacing:.24em;color:var(--gold-hi);text-align:center;font-size:.92rem}.letter__advice ol{counter-reset:rx;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.letter__advice li{word-break:auto-phrase;counter-increment:rx;padding-left:30px;font-size:.95rem;line-height:1.75;position:relative}.letter__advice li:before{content:counter(rx);border:1px solid var(--gold);width:22px;height:22px;color:var(--gold-hi);font-family:var(--latin);text-align:center;border-radius:50%;font-size:.85rem;font-weight:600;line-height:20px;position:absolute;top:2px;left:0}.letter__closing{text-align:center;font-family:var(--hand);color:var(--crimson);word-break:auto-phrase;text-wrap:balance;margin:26px 0 0;font-size:1.18rem;font-weight:600;line-height:1.8}.letter__sign{text-align:right;font-family:var(--latin);color:#9a7a3d;margin:4px 0 0;font-size:1.15rem;font-style:italic}.actionbar{z-index:10;padding:10px 16px calc(10px + var(--safe-b));background:linear-gradient(#0d050800,#0d0508eb 30%);align-items:center;gap:8px;margin:18px -16px 0;display:flex;position:sticky;bottom:0}.actionbar__main{flex:1;min-width:0;padding:12px 14px}.result__links{justify-items:center;gap:4px;margin-top:14px;display:grid}.sheet-backdrop{z-index:50;background:#050203b3;justify-content:center;align-items:flex-end;animation:.2s both fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{width:100%;max-width:var(--col);max-height:92dvh;padding:8px 18px calc(18px + var(--safe-b));border:1px solid var(--gold-line);background:linear-gradient(#230c15,#14060b);border-bottom:0;border-radius:22px 22px 0 0;outline:none;animation:.28s cubic-bezier(.2,.8,.2,1) both slideup;overflow-y:auto;box-shadow:0 -20px 50px #0009}.sheet__head{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.sheet__head h2{letter-spacing:.08em;font-size:1.05rem}.sheet__preview{background:#f5ead70f;border:1px solid #c9a45c40;border-radius:12px;margin:4px 0 14px;padding:12px 14px;font-weight:700;line-height:1.7}.share-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.share-btn{border:1px solid var(--gold-line);text-align:center;background:#f5ead70d;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:84px;padding:10px;font-size:.85rem;text-decoration:none;display:flex}.share-btn:active{background:#f5ead71f}.share-btn--x svg{color:#fff}.line-mark{color:#fff;background:#06c755;border-radius:6px;padding:3px 6px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.72rem;font-weight:800}.share-btn--ig svg{color:#ff8fb0}.seg{background:#f5ead70f;border:1px solid #c9a45c40;border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin:6px 0 14px;padding:4px;display:grid}.seg button{min-height:44px;color:var(--cream-dim);border-radius:10px;justify-content:center;align-items:center;gap:6px;font-size:.9rem;display:flex}.seg button small{font-family:var(--latin);opacity:.7;font-size:.72rem}.seg button.is-active{color:var(--text);background:linear-gradient(180deg, var(--paper), var(--paper-2));font-weight:700}.img-preview{background:#1a0810;border-radius:10px;place-items:center;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000080}.img-preview img{object-fit:contain;-webkit-touch-callout:default;width:100%;height:100%;display:block}.spinner{border:2px solid var(--gold-line);border-top-color:var(--gold-hi);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite spin}.page-head{align-items:center;gap:4px;margin:8px -6px 10px;display:flex}.page-head h1{letter-spacing:.08em;font-size:1.2rem}.empty{text-align:center;font-family:var(--hand);color:var(--cream-dim);padding:40px 12px}.saved-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.saved{text-align:left;width:100%;color:var(--text);background:linear-gradient(180deg, var(--paper), var(--paper-2));border:1px solid #c9ab76;border-radius:12px;gap:6px;padding:14px 16px;display:grid}.saved__quote{color:var(--crimson);font-weight:700;line-height:1.6}.saved__meta{color:var(--text-sub);justify-content:space-between;gap:8px;font-size:.74rem;display:flex}.prose h2{color:var(--gold-hi);letter-spacing:.08em;margin:26px 0 8px;font-size:1.02rem}.prose p,.prose li{color:var(--cream);font-size:.92rem}.prose ul{margin:0;padding-left:1.2em}.prose .btn{margin-top:8px}.prose a:not(.btn){color:var(--gold-hi)}.notice{background:#8e1b3626;border:1px solid #eaa6b059;border-radius:12px;padding:12px 14px}.site-footer{text-align:center;padding:18px 16px calc(24px + var(--safe-b));color:#f5ead773;font-size:.74rem}.site-footer p{margin:0}.sns{justify-content:center;gap:14px;margin-bottom:4px;display:flex}.sns a{border:1px solid var(--gold-line);width:44px;height:44px;color:var(--gold-hi);border-radius:50%;place-items:center;display:grid}.toast{left:50%;bottom:calc(96px + var(--safe-b));z-index:60;opacity:0;pointer-events:none;color:var(--text);font-family:var(--hand);white-space:nowrap;background:#fbf4e6f5;border-radius:999px;padding:10px 18px;font-size:.92rem;font-weight:600;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%,20px);box-shadow:0 10px 30px #00000080}.toast.is-shown{opacity:1;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideup{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes unfold{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:none}}@keyframes stamp{0%{opacity:0;transform:translate(-50%)scale(1.8)rotate(-12deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}@keyframes breathe{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.06)}}@keyframes flicker{0%{opacity:.95;transform:scale(1)rotate(-2deg)}50%{transform:scale(.94,1.06)rotate(1deg)}to{opacity:1;transform:scale(1.04,.96)rotate(2deg)}}@keyframes pop{50%{transform:scale(1.18)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:700px){.main{padding:0 20px 32px}.portrait--hero .portrait__mirror{width:230px;height:286px}}.hero__hello{max-width:21em;font-family:var(--hand);color:var(--cream);word-break:auto-phrase;text-wrap:balance;background:#f5ead70f;border:1px solid #c9a45c4d;border-radius:14px;margin:16px auto 0;padding:10px 16px;font-size:.92rem;font-weight:600;line-height:1.7;animation:.6s .3s both rise;position:relative}.hero__hello:before{content:"";background:#2a0f18;border-top:1px solid #c9a45c4d;border-left:1px solid #c9a45c4d;width:12px;height:12px;position:absolute;top:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.hero__chip{color:var(--rose);font-family:var(--hand);background:#8e1b3640;border:1px solid #eaa6b073;border-radius:999px;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.hero__chip span{animation:2.6s ease-in-out infinite breathe-plain}.note{color:var(--text);background:radial-gradient(130% 70% at 50% 0%, #ffffff8c, transparent 60%), linear-gradient(180deg, var(--paper), var(--paper-2));text-align:center;border-radius:6px;padding:26px 22px 18px;position:relative;box-shadow:0 18px 44px #0000008c,inset 0 0 0 7px #ffffff4d,inset 0 0 0 8px #b9965a8c}.note.is-revealing{animation:.7s cubic-bezier(.2,.8,.2,1) both unfold}.note__date{letter-spacing:.14em;color:var(--text-sub);margin:0;font-size:.76rem}.note__title{letter-spacing:.08em;color:var(--crimson);word-break:auto-phrase;text-wrap:balance;margin-top:2px;font-size:.98rem}.note__title span{color:#d25670}.note__text{text-align:left;color:var(--text);margin:18px 0 0;font-size:1.12rem;font-weight:700;line-height:1.95}.note.is-revealing .note__text{animation:1.1s .35s both ink}.note__sign{font-family:var(--hand);color:var(--crimson);justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;font-size:1.05rem;font-weight:600;display:flex}.note__sign .portrait__mirror{width:40px;height:40px}.note__actions{border-top:1px solid #b9965a59;justify-content:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.chip-btn{min-height:44px;color:var(--crimson);border:1px solid #8e1b3659;border-radius:999px;align-items:center;gap:4px;padding:0 14px;font-size:.86rem;font-weight:700;display:inline-flex}.chip-btn.is-on{color:#c23a55;background:#8e1b361a}.message-view{padding-top:18px}.extra{border-radius:var(--radius);border:1px solid var(--gold-line);background:radial-gradient(120% 70% at 50% 0,#8e1b3673,#0000 70%),linear-gradient(#210a13,#12060b);margin-top:26px;padding:26px 20px 22px;box-shadow:0 16px 40px #00000080,inset 0 1px #e6cc9226}.extra--locked{text-align:center;justify-items:center;gap:6px;display:grid}.extra__eyebrow{font-family:var(--latin);letter-spacing:.3em;color:var(--gold);margin:6px 0 0;font-size:.72rem;font-weight:600}.extra__title{letter-spacing:.12em;color:var(--cream);font-size:1.3rem}.extra__lead small{color:var(--gold);margin-top:4px;font-size:.78rem;display:inline-block}.extra__lead{word-break:auto-phrase;text-wrap:balance;color:var(--cream-dim);margin:4px 0 12px;font-size:.88rem;line-height:1.85}.extra--open{animation:.6s both unfold}.extra--open .extra__eyebrow,.extra--open .extra__title{text-align:center}.extra--open h3{border-left:2px solid var(--gold);letter-spacing:.08em;color:var(--gold-hi);margin:22px 0 8px;padding-left:12px;font-size:.98rem}.extra--open>p{margin:0;font-size:.94rem;line-height:1.95}.extra__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.extra__list li{word-break:auto-phrase;padding-left:22px;font-size:.93rem;line-height:1.75;position:relative}.extra__list li:before{color:var(--gold);position:absolute;top:0;left:0}.extra__list--do li:before{content:"✦"}.extra__list--avoid li:before{content:"×";color:var(--rose);font-weight:700}.extra__list--words li{font-family:var(--hand);background:#f5ead712;border:1px solid #c9a45c40;border-radius:10px;padding:10px 14px;font-weight:600}.extra__closing{text-align:center;font-family:var(--hand);color:var(--rose);font-weight:600;margin:22px 0 0!important}.sheet__note{color:var(--cream);background:#8e1b3640;border:1px solid #eaa6b04d;border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:.84rem;line-height:1.7}.saved--message .saved__quote{color:var(--text);font-weight:500}@keyframes ink{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}@keyframes breathe-plain{0%,to{opacity:1}50%{opacity:.45}}.fatal{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:100dvh;padding:24px;display:grid}.fatal__title{margin:8px 0 0;font-size:1.15rem;font-weight:700}.fatal__text{color:var(--cream-dim);margin:0 0 8px;font-size:.9rem}
