/* Homepage Whispers palette: warm paper into a restrained translucent pink. */
:root{--ink:#342d33;--muted:#82767d;--paper:#faf6ea;--line:rgba(208,177,184,.36);--purple:#b96f82}
body{min-height:100vh;background:radial-gradient(circle at 8% -8%,rgba(255,255,255,.76) 0%,transparent 34%),radial-gradient(circle at 104% 108%,rgba(249,178,192,.2) 0%,transparent 48%),linear-gradient(135deg,#faf6ea 0%,#fbf8f2 48%,#f8e3e7 100%) !important;background-attachment:fixed !important}
.back{color:#9b6171 !important}.eyebrow{color:#aa8791 !important}.whispers-page header>p:last-child{color:var(--muted) !important}
.writing-card{border-color:rgba(255,255,255,.82) !important;background:radial-gradient(circle at 102% -10%,rgba(249,178,192,.22) 0%,transparent 38%),linear-gradient(135deg,rgba(255,255,255,.76),rgba(250,239,236,.58)) !important;box-shadow:0 18px 42px rgba(132,82,96,.08),inset 0 1px 0 rgba(255,255,255,.92) !important;backdrop-filter:blur(18px) saturate(112%);-webkit-backdrop-filter:blur(18px) saturate(112%)}
.writing-card>div{border-top-color:rgba(191,146,158,.2) !important}.writing-card button{background:#b96f82 !important;box-shadow:0 7px 16px rgba(151,76,97,.14)}.pin{color:#d99aaa !important}
.whisper-note{box-shadow:0 8px 20px rgba(92,61,70,.055) !important}.history-section{border-top-color:rgba(190,151,161,.25) !important}
.date-card,.history-calendar{border-color:rgba(255,255,255,.78) !important;background:rgba(255,255,255,.62) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.78) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.date-card span,.date-card em{color:#a86276 !important}.date-card:hover{box-shadow:0 9px 19px rgba(133,76,94,.09) !important}
.history-calendar-head button,.history-day:hover{background:#fae9ed !important;color:#9d596d !important}.history-day.is-today{background:#b96f82 !important}.history-day i{background:#d791a4 !important}.history-day.is-edited{box-shadow:inset 0 0 0 2px #bd788b !important;color:#9c586c !important}
#history-dialog,.whisper-edit-dialog{background:linear-gradient(135deg,#fffdf8,#fae8ec) !important;box-shadow:0 24px 70px rgba(89,55,66,.2) !important}
#history-dialog::backdrop,.whisper-edit-dialog::backdrop{background:rgba(55,42,48,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.whisper-edit-dialog textarea{border-color:#e7cfd5 !important;outline-color:#c78698}.whisper-edit-dialog button[type="submit"]{background:#b96f82 !important}
.whisper-context-menu{border-color:#ead4da !important;box-shadow:0 12px 32px rgba(87,52,64,.14) !important}.whisper-context-menu button{background:#fae9ed !important;color:#98566a !important}
.mood-card{min-width:0;max-width:100%;margin-top:34px;padding:24px;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:18px;background:radial-gradient(circle at 96% 4%,rgba(246,190,198,.2),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.75),rgba(251,240,229,.58));box-shadow:0 16px 38px rgba(121,83,88,.075),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(16px) saturate(108%);-webkit-backdrop-filter:blur(16px) saturate(108%)}
.mood-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.mood-heading h2{margin:0;color:#3b3337;font-size:20px;letter-spacing:-.02em}.mood-heading p{margin:5px 0 0;color:#8b7b81;font-size:12px}.mood-date-mark{color:#c99aa4;font:400 21px "DM Sans",sans-serif;font-style:italic;letter-spacing:-.03em}
.mood-options{display:grid;grid-template-columns:repeat(2,minmax(0,190px));gap:14px}.mood-option{position:relative;display:grid;justify-items:center;min-height:196px;padding:13px 14px 15px;overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:15px;color:#57494d;cursor:pointer;font:inherit;box-shadow:0 8px 22px rgba(101,75,78,.06);transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,border-color .24s ease}.mood-joyful{background:linear-gradient(145deg,#fff7ed 0%,#fbe6df 100%)}.mood-pleased{background:linear-gradient(145deg,#fff9e9 0%,#f6edd1 100%)}.mood-option:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(101,75,78,.1)}.mood-option:focus-visible{outline:3px solid rgba(185,111,130,.28);outline-offset:3px}.mood-option[aria-pressed="true"]{border-color:rgba(177,100,119,.54);box-shadow:0 10px 26px rgba(138,74,91,.13),inset 0 0 0 2px rgba(255,255,255,.72)}.mood-option[aria-pressed="true"]::after{content:"✓";position:absolute;top:10px;right:10px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#b96f82;color:#fff;font-size:12px}.mood-option strong{font-size:16px}.mood-option small{margin-top:2px;color:#907d82;font-size:10px}.mood-art{display:block;width:132px;height:116px}.mood-art svg{display:block;width:100%;height:100%;overflow:visible}.dog-body{fill:#fffaf3;stroke:#665653;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.dog-ear{fill:#e8c7aa;stroke:#665653;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.dog-arm,.dog-eye,.dog-mouth{fill:none;stroke:#665653;stroke-width:5;stroke-linecap:round}.dog-nose{fill:#665653}.dog-blush{fill:#efb8ae;opacity:.6}.joy-rays{fill:none;stroke:#dc786f;stroke-width:5;stroke-linecap:round}.little-sun{fill:#efbd66}.sun-rays{fill:none;stroke:#efbd66;stroke-width:4;stroke-linecap:round}
.mood-joyful .mood-dog{transform-box:view-box;transform-origin:50% 100%;animation:mood-joyful-idle 2.8s ease-in-out infinite}.mood-joyful .dog-arm-left{transform-box:fill-box;transform-origin:100% 100%;animation:mood-arm-left 2.8s ease-in-out infinite}.mood-joyful .dog-arm-right{transform-box:fill-box;transform-origin:0 100%;animation:mood-arm-right 2.8s ease-in-out infinite}.mood-pleased .mood-dog{transform-box:view-box;transform-origin:50% 100%;animation:mood-breathe 3.8s ease-in-out infinite}.mood-pleased .blink-eye{transform-box:fill-box;transform-origin:center;animation:mood-blink 4.6s ease-in-out infinite}
@keyframes mood-joyful-idle{0%,72%,100%{transform:translateY(0) scaleY(1)}82%{transform:translateY(-5px) scaleY(1.015)}90%{transform:translateY(0) scaleY(.99)}}@keyframes mood-arm-left{0%,72%,100%{transform:rotate(0)}82%{transform:rotate(-10deg)}}@keyframes mood-arm-right{0%,72%,100%{transform:rotate(0)}82%{transform:rotate(10deg)}}@keyframes mood-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.018)}}@keyframes mood-blink{0%,44%,49%,100%{transform:scaleY(1)}46%,47%{transform:scaleY(.12)}}
@media(max-width:700px){.mood-card{margin-top:28px;padding:18px}.mood-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mood-option{min-height:176px;padding-inline:8px}.mood-art{width:112px;height:102px}.mood-date-mark{font-size:18px}}
@media(max-width:390px){.mood-option{min-height:164px}.mood-art{width:98px;height:92px}.mood-option small{display:none}}
@media(prefers-reduced-motion:reduce){.mood-option,.mood-dog,.dog-arm,.blink-eye{animation:none !important;transition:none !important}}
@media(prefers-reduced-transparency:reduce){.writing-card,.date-card,.history-calendar{background:#fffaf8 !important;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Seven-state mood character grid: compact, fully visible and never horizontally scrolling. */
.mood-options{display:grid;width:100%;min-width:0;max-width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:visible;padding:2px}.mood-option{min-width:0;min-height:124px;padding:5px 6px 10px;border-radius:14px;scroll-snap-align:none}.mood-option strong{font-size:13px}.mood-option small{display:none}.mood-art{width:82px;height:82px}
.mood-calm{background:linear-gradient(145deg,#f7f7ef,#e7eee1)}.mood-neutral{background:linear-gradient(145deg,#faf8f4,#ebe8e3)}.mood-tired{background:linear-gradient(145deg,#f2f7fb,#dde9f2)}.mood-anxious{background:linear-gradient(145deg,#f8f4fb,#e9e0f1)}.mood-low{background:linear-gradient(145deg,#fff5f3,#f2dddf)}
.mood-head,.mood-paw{fill:#fffaf3;stroke:#625451;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.mood-ear{fill:#e6c4a7;stroke:#625451;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.mood-arm,.mood-eye,.mood-mouth,.mood-tongue{fill:none;stroke:#625451;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.mood-nose,.mood-dot-eye{fill:#625451}.mood-cheek{fill:#efb6ad;opacity:.58}.mood-tongue{fill:#e9867f;stroke-width:3}.mood-symbol{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.mood-rays{stroke:#d97570}.mood-sun{fill:#efbd66;stroke:#efbd66;stroke-width:3.5}.mood-leaf{fill:rgba(126,153,126,.12);stroke:#798d78}.mood-cloud{stroke:#9b9896}.mood-z{stroke:#8d9aad}.mood-swirl{stroke:#777083}.mood-rain{stroke:#9098a6}.mood-rain .mood-drops{stroke:#849bb2}
.mood-dog,.mood-symbol,.mood-arm,.mood-blink-eye{transform-box:view-box}.mood-dog{transform-origin:50% 100%}.mood-arm-left{transform-origin:55px 73px}.mood-arm-right{transform-origin:105px 73px}.mood-blink-eye{transform-origin:center}.mood-joyful .mood-dog{animation:mood-joyful-idle 3.2s ease-in-out infinite}.mood-joyful .mood-arm-left{animation:mood-arm-left 3.2s ease-in-out infinite}.mood-joyful .mood-arm-right{animation:mood-arm-right 3.2s ease-in-out infinite}.mood-pleased .mood-dog,.mood-calm .mood-dog,.mood-neutral .mood-dog{animation:mood-breathe 4s ease-in-out infinite}.mood-pleased .mood-blink-eye,.mood-calm .mood-blink-eye{animation:mood-blink 4.8s ease-in-out infinite}.mood-pleased .mood-sun{transform-origin:80px 19px;animation:mood-symbol-float 3.5s ease-in-out infinite}.mood-calm .mood-leaf{transform-origin:72px 35px;animation:mood-leaf-sway 4.2s ease-in-out infinite}.mood-neutral .mood-cloud{animation:mood-cloud-drift 5s ease-in-out infinite}.mood-tired .mood-dog{animation:mood-tired-breathe 4.8s ease-in-out infinite}.mood-tired .mood-z{animation:mood-z-drift 3.6s ease-in-out infinite}.mood-anxious .mood-dog{animation:mood-anxious-shake 4.6s ease-in-out infinite}.mood-anxious .mood-swirl{transform-origin:80px 38px;animation:mood-swirl-turn 5s linear infinite}.mood-low .mood-dog{animation:mood-low-breathe 5s ease-in-out infinite}.mood-low .mood-drops{animation:mood-rain-fall 2.8s ease-in-out infinite}
@keyframes mood-symbol-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes mood-leaf-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes mood-cloud-drift{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px)}}@keyframes mood-tired-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.975)}}@keyframes mood-z-drift{0%{transform:translate(-2px,3px);opacity:.5}50%{opacity:1}100%{transform:translate(3px,-4px);opacity:.5}}@keyframes mood-anxious-shake{0%,78%,100%{transform:rotate(0)}82%{transform:rotate(-1.7deg)}86%{transform:rotate(1.7deg)}90%{transform:rotate(-1deg)}94%{transform:rotate(1deg)}}@keyframes mood-swirl-turn{to{transform:rotate(360deg)}}@keyframes mood-low-breathe{0%,100%{transform:translateY(1px) scaleY(.985)}50%{transform:translateY(3px) scaleY(.97)}}@keyframes mood-rain-fall{0%,100%{transform:translateY(-2px);opacity:.45}50%{transform:translateY(4px);opacity:1}}
@media(max-width:700px){.whispers-page{width:100%;max-width:100vw;overflow-x:hidden}.mood-card,.writing-card{width:100%;min-width:0;max-width:100%}.mood-card{padding:17px 13px}.mood-heading{margin-bottom:13px}.mood-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0}.mood-option{min-width:0;min-height:112px;padding:4px 3px 8px}.mood-art{width:72px;height:72px}.writing-card{overflow:hidden}.writing-card textarea,.writing-card>div{width:100%;min-width:0}.writing-card button{flex:0 0 auto}}
@media(max-width:350px){.mood-options{gap:6px}.mood-option{min-height:106px}.mood-art{width:66px;height:66px}}
@media(prefers-reduced-motion:reduce){.mood-symbol,.mood-dog,.mood-arm,.mood-blink-eye,.mood-drops{animation:none !important}}

/* Compact 3 x 3 mood picker. */
.mood-card{padding:18px 20px}.mood-heading{margin-bottom:10px}.mood-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0}.mood-option{align-content:center;min-height:88px;padding:2px 4px 5px;border-radius:13px}.mood-art{width:58px;height:58px;margin-bottom:-3px}.mood-option strong{font-size:12px;line-height:1.05}.mood-fulfilled{background:linear-gradient(145deg,#fff4e8,#f7e3d8)}.mood-confused{background:linear-gradient(145deg,#f3f0fb,#e4e5f6)}
.mood-sparkle{fill:rgba(225,175,74,.22);stroke:#d9a948;stroke-width:3}.mood-question{stroke:#8b83b0;stroke-width:5}.mood-fulfilled .mood-dog{animation:mood-fulfilled-idle 4s ease-in-out infinite}.mood-fulfilled .mood-sparkle{transform-origin:112px 23px;animation:mood-sparkle-twinkle 3.8s ease-in-out infinite}.mood-confused .mood-dog{animation:mood-confused-tilt 4.4s ease-in-out infinite}.mood-confused .mood-question{transform-origin:84px 47px;animation:mood-question-float 4.4s ease-in-out infinite}
@keyframes mood-fulfilled-idle{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1.5px) scaleY(1.012)}}@keyframes mood-sparkle-twinkle{0%,72%,100%{transform:scale(.82) rotate(0);opacity:.62}82%{transform:scale(1.08) rotate(8deg);opacity:1}}@keyframes mood-confused-tilt{0%,68%,100%{transform:rotate(0)}78%,90%{transform:rotate(-2.5deg)}}@keyframes mood-question-float{0%,100%{transform:translateY(0);opacity:.72}50%{transform:translateY(-2px);opacity:1}}
@media(max-width:700px){.mood-card{padding:15px 12px}.mood-heading{margin-bottom:8px}.mood-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mood-option{min-height:84px;padding:2px 2px 4px}.mood-art{width:55px;height:55px;margin-bottom:-4px}.mood-option strong{font-size:11px}}
@media(max-width:350px){.mood-options{gap:5px}.mood-option{min-height:79px}.mood-art{width:51px;height:51px}}

/* Today's voice composer and image-led note layouts. */
.writing-card textarea{box-sizing:border-box;width:100%;padding:12px 14px;border:1px solid rgba(213,166,177,.42);border-radius:14px;outline:0;background:rgba(255,255,255,.28);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.writing-card textarea:focus{border-color:#d99aaa;box-shadow:0 0 0 3px rgba(217,154,170,.14);background:rgba(255,255,255,.5)}.writing-card textarea::selection{background:#f2cbd5}.writing-card>div.writing-footer{border-top:1px solid rgba(191,146,158,.2) !important;padding-top:14px}.whisper-media{display:grid;gap:10px}.whisper-media-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-upload{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(205,160,171,.36);border-radius:11px;background:rgba(255,255,255,.42);color:#985f6f;font-size:12px;font-weight:600;cursor:pointer}.image-upload svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.image-upload:focus-within,.image-upload:hover{background:rgba(255,255,255,.7)}.image-sizes{display:flex;padding:3px;border-radius:11px;background:rgba(239,218,217,.55)}.writing-card .image-sizes button{min-width:34px;padding:6px 9px;border-radius:8px;background:transparent !important;box-shadow:none;color:#896f76;font-size:11px}.writing-card .image-sizes button[aria-pressed="true"]{background:rgba(255,255,255,.82) !important;box-shadow:0 2px 7px rgba(105,67,77,.09);color:#9f5e70}.image-preview{position:relative;overflow:hidden;border-radius:14px;background:#f2e9e1}.image-preview img{display:block;width:100%;height:150px;object-fit:cover}.image-preview[data-size="small"]{width:34%}.image-preview[data-size="small"] img{height:92px}.image-preview[data-size="medium"]{width:62%}.image-preview[data-size="medium"] img{height:126px}.image-preview[data-size="large"]{width:100%}.image-preview[data-size="large"] img{height:190px}.writing-card #remove-image{position:absolute;right:8px;top:8px;padding:6px 9px;border-radius:8px;background:rgba(46,37,41,.68) !important;box-shadow:none;color:#fff;font-size:10px;backdrop-filter:blur(6px)}.image-status{color:#927f85;font-size:10px}.whisper-note{overflow:hidden}.whisper-note-copy{min-width:0}.whisper-note figure{margin:0;overflow:hidden;border-radius:11px}.whisper-note figure img{display:block;width:100%;height:100%;object-fit:cover}.whisper-note.has-image{display:grid;min-height:190px;transform:none}.whisper-note.image-small{grid-template-columns:36% 1fr;gap:12px}.whisper-note.image-small figure{height:96px}.whisper-note.image-medium{grid-template-columns:44% 1fr;gap:14px}.whisper-note.image-medium figure{height:138px}.whisper-note.image-large{grid-template-columns:1fr;gap:12px}.whisper-note.image-large figure{height:178px}.whisper-note.has-image small{position:static;display:block;margin-top:12px}.history-notes .whisper-note.has-image{min-height:180px}
@media(max-width:700px){.whisper-media-actions{align-items:flex-start;flex-wrap:wrap}.image-preview[data-size="small"]{width:46%}.image-preview[data-size="medium"]{width:72%}.whisper-note.image-medium{grid-template-columns:42% 1fr}.whisper-note.image-large figure{height:210px}}
@media(max-width:430px){.image-preview[data-size="medium"]{width:100%}.whisper-note.image-medium{grid-template-columns:1fr}.whisper-note.image-medium figure{height:180px}}
.whisper-note.has-image{grid-column:span 2}.whisper-note.image-small:nth-child(even) figure{order:2}@media(max-width:700px){.whisper-note.has-image{grid-column:auto}}

/* Today's notes behave as a quiet, selectable stack of fixed-format memory cards. */
.whisper-list.is-stack{display:grid;grid-template-columns:1fr;min-height:calc(286px + (var(--stack-count,1) * 17px));padding:2px 0 30px;perspective:900px}.whisper-list.is-stack .whisper-note{grid-area:1/1;align-self:start;justify-self:center;width:min(720px,94%);height:270px;min-height:270px;max-height:270px;padding:20px;border-radius:16px;overflow:hidden;cursor:pointer;z-index:calc(10 - var(--stack-depth,0));opacity:calc(1 - (var(--stack-depth,0) * .09));filter:saturate(calc(1 - (var(--stack-depth,0) * .11))) grayscale(calc(var(--stack-depth,0) * .08)) blur(calc(var(--stack-depth,0) * .18px));transform:translate3d(calc(var(--stack-depth,0) * 5px),calc(var(--stack-depth,0) * 17px),calc(var(--stack-depth,0) * -12px)) scale(calc(1 - (var(--stack-depth,0) * .018)));transform-origin:50% 0;transition:transform .38s cubic-bezier(.22,1,.36,1),filter .3s ease,opacity .3s ease,box-shadow .3s ease,outline-color .3s ease}.whisper-list.is-stack .whisper-note:not(.is-front)::after{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(116,111,112,.1);pointer-events:none}.whisper-list.is-stack .whisper-note.is-front{filter:none;opacity:1}.whisper-list.is-stack .whisper-note.is-highlighted{z-index:24;outline:2px solid rgba(197,111,133,.58);outline-offset:3px;box-shadow:0 22px 46px rgba(129,76,91,.17) !important;transform:translate3d(0,0,20px) scale(1)}.whisper-list.is-stack .whisper-note p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6}.whisper-list.is-stack .whisper-note.is-expanded{height:auto;min-height:270px;max-height:none;overflow:visible}.whisper-list.is-stack .whisper-note.is-expanded p{display:block;overflow:visible}.whisper-list.is-stack .whisper-note.image-small,.whisper-list.is-stack .whisper-note.image-medium{grid-template-columns:minmax(150px,38%) 1fr}.whisper-list.is-stack .whisper-note.image-small figure,.whisper-list.is-stack .whisper-note.image-medium figure{height:100%;max-height:230px}.whisper-list.is-stack .whisper-note.image-large figure{height:156px}.whisper-list.is-stack .whisper-note.is-expanded.image-large figure{height:min(52vw,420px)}.note-expand-hint{position:absolute;right:16px;bottom:13px;padding:4px 8px;border-radius:8px;background:rgba(255,255,255,.62);color:#8e6974;font-size:10px;font-weight:600;backdrop-filter:blur(8px)}.whisper-list.is-stack .whisper-note:focus-visible{outline:2px solid #c7798e;outline-offset:4px}
@media(max-width:700px){.whisper-list.is-stack{min-height:calc(264px + (var(--stack-count,1) * 15px));padding-bottom:24px}.whisper-list.is-stack .whisper-note{width:96%;height:248px;min-height:248px;max-height:248px;padding:16px;transform:translate3d(calc(var(--stack-depth,0) * 3px),calc(var(--stack-depth,0) * 15px),0) scale(calc(1 - (var(--stack-depth,0) * .014)))}.whisper-list.is-stack .whisper-note.is-highlighted{transform:translate3d(0,0,10px) scale(1)}.whisper-list.is-stack .whisper-note.is-expanded{height:auto;min-height:248px;max-height:none}.whisper-list.is-stack .whisper-note.image-small,.whisper-list.is-stack .whisper-note.image-medium{grid-template-columns:38% 1fr}.whisper-list.is-stack .whisper-note.image-small figure,.whisper-list.is-stack .whisper-note.image-medium figure{max-height:216px}.whisper-list.is-stack .whisper-note.image-large figure{height:138px}.whisper-list.is-stack .whisper-note.is-expanded.image-large figure{height:min(64vw,340px)}}
@media(max-width:430px){.whisper-list.is-stack .whisper-note.image-medium{grid-template-columns:40% 1fr}.whisper-list.is-stack .whisper-note.is-expanded.image-medium{grid-template-columns:1fr}.whisper-list.is-stack .whisper-note.is-expanded.image-medium figure{height:210px}}
@media(prefers-reduced-motion:reduce){.whisper-list.is-stack .whisper-note{transition:none}.whisper-list.is-stack .whisper-note.is-highlighted{scroll-behavior:auto}}

/* Multi-photo composer, a more legible deck, and focused reading state. */
.image-preview{width:100% !important;padding:8px;background:rgba(255,255,255,.44)}.image-preview-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.preview-thumb{position:relative;aspect-ratio:1;border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:#eee;cursor:pointer}.preview-thumb img{width:100% !important;height:100% !important;object-fit:cover}.preview-thumb span{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:rgba(45,35,39,.62);color:#fff;font-size:9px}.preview-thumb.is-active{border-color:#c7788d;box-shadow:0 0 0 2px rgba(255,255,255,.8)}.image-preview #remove-image{z-index:2}.note-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;height:100%}.note-gallery[data-count="1"]{grid-template-columns:1fr}.note-gallery[data-count="3"] img:first-child,.note-gallery[data-count="4"] img:first-child{grid-row:span 2}.note-gallery img{min-width:0;width:100%;height:100%;object-fit:cover}.whisper-note.has-gallery{grid-template-columns:44% 1fr}.whisper-note.has-gallery .note-gallery{height:142px}.whisper-list.is-stack .whisper-note.has-gallery .note-gallery{height:230px}.whisper-list.is-stack .whisper-note.has-gallery{grid-template-columns:minmax(180px,42%) 1fr}
.whisper-list.is-stack{min-height:calc(300px + (var(--stack-count,1) * 34px));padding-bottom:42px}.whisper-list.is-stack .whisper-note{height:278px;min-height:278px;max-height:278px;opacity:calc(1 - (var(--stack-depth,0) * .11));filter:saturate(calc(1 - (var(--stack-depth,0) * .1)));transform:translate3d(calc(var(--stack-depth,0) * 7px),calc(var(--stack-depth,0) * 34px),calc(var(--stack-depth,0) * -8px)) scale(calc(1 - (var(--stack-depth,0) * .012)))}.whisper-list.is-stack .whisper-note:not(.is-front)::after{background:rgba(118,112,113,.16)}.whisper-list.is-stack .whisper-note.is-highlighted{transform:translate3d(0,0,12px) scale(1);outline-color:rgba(197,111,133,.72)}.whisper-list.is-stack .note-expand-hint{content:none}.whisper-list.is-stack .whisper-note.has-gallery .note-gallery{height:230px}
.whisper-focus-dialog{width:min(840px,calc(100vw - 34px));max-height:calc(100dvh - 36px);margin:auto;padding:0;border:0;border-radius:22px;background:transparent;overflow:visible;box-shadow:none}.whisper-focus-dialog::backdrop{background:rgba(47,40,42,.23);backdrop-filter:blur(15px) saturate(85%);-webkit-backdrop-filter:blur(15px) saturate(85%)}.focus-card{max-height:calc(100dvh - 48px);overflow:auto;padding:10px}.whisper-focus-dialog .whisper-note{display:grid;grid-template-columns:minmax(240px,45%) 1fr;min-height:min(580px,calc(100dvh - 70px));padding:24px;border-radius:20px;overflow:hidden;box-shadow:0 26px 70px rgba(54,35,42,.22) !important;transform:none !important;filter:none !important;opacity:1 !important}.whisper-focus-dialog .whisper-note:not(.has-image){grid-template-columns:1fr}.whisper-focus-dialog .whisper-note .note-gallery,.whisper-focus-dialog .whisper-note figure{height:100% !important;min-height:280px}.whisper-focus-dialog .whisper-note.image-large{grid-template-columns:1fr}.whisper-focus-dialog .whisper-note.image-large figure{height:min(52vh,430px) !important}.whisper-focus-dialog .whisper-note .whisper-note-copy{align-self:center}.whisper-focus-dialog .whisper-note p{display:block;max-height:none;overflow:visible;font-size:15px;line-height:1.9}.whisper-focus-dialog .whisper-note small{position:static;display:block;margin-top:17px}.whisper-focus-dialog .note-expand-hint{display:none}.focus-close{position:absolute;z-index:3;right:19px;top:19px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(44,34,38,.66);color:#fff;font-size:23px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
@media(max-width:700px){.image-preview-gallery{gap:5px}.whisper-list.is-stack{min-height:calc(276px + (var(--stack-count,1) * 28px));padding-bottom:36px}.whisper-list.is-stack .whisper-note{height:258px;min-height:258px;max-height:258px;transform:translate3d(calc(var(--stack-depth,0) * 4px),calc(var(--stack-depth,0) * 28px),0) scale(calc(1 - (var(--stack-depth,0) * .009)))}.whisper-list.is-stack .whisper-note.is-highlighted{transform:translate3d(0,0,10px) scale(1)}.whisper-list.is-stack .whisper-note.has-gallery{grid-template-columns:40% 1fr}.whisper-list.is-stack .whisper-note.has-gallery .note-gallery{height:216px}.whisper-focus-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.focus-card{max-height:calc(100dvh - 34px);padding:5px}.whisper-focus-dialog .whisper-note,.whisper-focus-dialog .whisper-note.has-gallery{grid-template-columns:1fr;min-height:auto;max-height:calc(100dvh - 34px);overflow:auto;padding:18px}.whisper-focus-dialog .whisper-note .note-gallery,.whisper-focus-dialog .whisper-note figure{height:250px !important;min-height:180px}.whisper-focus-dialog .whisper-note p{font-size:14px}.focus-close{right:13px;top:13px}}

/* Immersive composer: the writing surface gets the room, tools stay secondary. */
.compose-launch{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:40px;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.52);box-shadow:0 12px 30px rgba(125,83,92,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.compose-launch div{display:grid;gap:4px}.compose-launch strong{color:#3b3337;font-size:16px}.compose-launch span{color:#8b7b81;font-size:12px}.compose-launch button{flex:0 0 auto;border:0;border-radius:11px;padding:10px 14px;background:#b96f82;color:#fff;font:600 12px inherit;cursor:pointer;box-shadow:0 7px 16px rgba(151,76,97,.13);transition:transform 140ms cubic-bezier(.23,1,.32,1),background-color 180ms ease}.compose-launch button:active{transform:scale(.97)}.compose-launch button:focus-visible{outline:3px solid rgba(185,111,130,.25);outline-offset:3px}
.whisper-compose-dialog{width:min(920px,calc(100vw - 42px));height:min(82dvh,780px);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:22px;background:transparent;overflow:visible;opacity:0;transform:translateY(10px) scale(.985);transition:opacity 180ms ease-out,transform 220ms cubic-bezier(.23,1,.32,1),overlay 180ms allow-discrete,display 180ms allow-discrete}.whisper-compose-dialog[open]{opacity:1;transform:translateY(0) scale(1)}@starting-style{.whisper-compose-dialog[open]{opacity:0;transform:translateY(10px) scale(.985)}}.whisper-compose-dialog::backdrop{background:rgba(55,45,48,.22);backdrop-filter:blur(17px) saturate(88%);-webkit-backdrop-filter:blur(17px) saturate(88%)}.whisper-compose-dialog .writing-card{width:100%;height:100%;margin:0;padding:26px 28px 22px;border-radius:22px;display:grid;grid-template-rows:auto minmax(260px,1fr) auto auto;gap:13px;overflow:hidden}.compose-heading{display:flex !important;align-items:flex-start !important;justify-content:space-between !important;padding:0 42px 0 0 !important;border:0 !important}.compose-heading>div{display:flex;align-items:center;gap:8px}.compose-heading label{font-size:19px}.compose-heading small{padding-top:4px;color:#9a878d;font-size:11px}.compose-heading .pin{position:static;font-size:15px}.compose-close{position:absolute;z-index:3;right:17px;top:16px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(78,61,67,.08) !important;box-shadow:none !important;color:#725e64;font:300 24px/1 inherit;cursor:pointer;transition:transform 140ms cubic-bezier(.23,1,.32,1),background-color 180ms ease}.compose-close:active{transform:scale(.94)}.whisper-compose-dialog .writing-card textarea{height:auto;min-height:0;padding:20px 22px;resize:none;font-size:16px;line-height:1.9;background:rgba(255,255,255,.38)}.whisper-compose-dialog .whisper-media{gap:7px}.whisper-compose-dialog .whisper-media-actions{min-height:32px}.whisper-compose-dialog .image-upload{padding:6px 9px;border-radius:9px;font-size:11px}.whisper-compose-dialog .image-upload svg{width:15px}.whisper-compose-dialog .image-sizes{align-items:center;gap:1px;padding:2px;border-radius:9px}.whisper-compose-dialog .image-sizes>span{padding:0 6px;color:#a08c92;font-size:9px}.whisper-compose-dialog .writing-card .image-sizes button{min-width:28px;padding:5px 7px;border-radius:7px;font-size:10px}.whisper-compose-dialog .image-status{font-size:9px}.whisper-compose-dialog .image-preview{max-height:112px;padding:6px;overflow:auto}.whisper-compose-dialog .image-preview-gallery{grid-template-columns:repeat(6,minmax(54px,1fr));gap:5px}.whisper-compose-dialog .preview-thumb{max-height:82px;border-radius:8px}.whisper-compose-dialog .writing-footer{padding-top:10px !important}.whisper-compose-dialog .writing-footer button{padding:9px 15px}.whisper-compose-dialog .writing-footer button:active{transform:scale(.97)}
@media(max-width:700px){.compose-launch{margin-top:28px;padding:15px 16px}.compose-launch span{display:none}.whisper-compose-dialog{width:calc(100vw - 12px);height:calc(100dvh - 16px);border-radius:18px}.whisper-compose-dialog .writing-card{padding:20px 16px 14px;border-radius:18px;grid-template-rows:auto minmax(250px,1fr) auto auto;gap:10px}.compose-heading{padding-right:38px !important}.compose-heading small{display:none}.compose-heading label{font-size:18px}.compose-close{right:12px;top:11px}.whisper-compose-dialog .writing-card textarea{padding:16px;font-size:15px}.whisper-compose-dialog .image-preview{max-height:96px}.whisper-compose-dialog .image-preview-gallery{grid-template-columns:repeat(6,minmax(44px,1fr))}.whisper-compose-dialog .preview-thumb{max-height:68px}}
@media(prefers-reduced-motion:reduce){.whisper-compose-dialog,.compose-launch button,.compose-close{transition-duration:0ms;transform:none}}
.whisper-compose-dialog .writing-card .compose-close{background:rgba(78,61,67,.08) !important;box-shadow:none !important;color:#725e64}

/* Mobile first-screen composition: keep mood and voice entry visible together. */
@media(max-width:700px){
  .whispers-page{padding: max(14px,env(safe-area-inset-top)) 16px 48px}
  .back{margin-bottom:14px;font-size:12px}
  .whispers-page header .eyebrow{font-size:8px;letter-spacing:1px}
  .whispers-page h1{margin:4px 0 2px;font-size:clamp(31px,9vw,35px);line-height:1.04}
  .whispers-page header>p:last-child{margin:0;font-size:12px;line-height:1.35}
  .mood-card{margin-top:14px;padding:10px 10px 9px;border-radius:16px}
  .mood-heading{margin-bottom:4px}
  .mood-heading h2{font-size:17px}
  .mood-heading p{margin-top:2px;font-size:10px}
  .mood-date-mark{font-size:15px}
  .mood-options{gap:4px}
  .mood-option{min-height:65px;padding:0 2px 3px;border-radius:11px}
  .mood-art{width:44px;height:44px;margin-bottom:-5px}
  .mood-option strong{font-size:10px}
  .mood-option[aria-pressed="true"]::after{top:5px;right:5px;width:16px;height:16px;font-size:9px}
  .compose-launch{min-height:58px;margin-top:12px;padding:7px 10px 7px 13px;border-radius:14px}
  .compose-launch strong{font-size:14px}
  .compose-launch button{min-height:44px;padding:8px 12px}
  .notes-section{margin-top:24px}
}
@media(max-width:700px) and (max-height:740px){
  .whispers-page{padding-top:max(10px,env(safe-area-inset-top))}
  .back{margin-bottom:9px}
  .whispers-page h1{font-size:29px}
  .mood-card{margin-top:10px}
  .mood-option{min-height:61px}
  .mood-art{width:40px;height:40px}
}

/* Image picker: let the photos be the preview, not decoration inside tiles. */
.whisper-compose-dialog .image-preview{display:flex;align-items:center;gap:10px;max-height:none;padding:0;background:transparent !important;overflow:visible}
.whisper-compose-dialog .image-preview-gallery{display:flex;flex:1;min-width:0;gap:8px;overflow-x:auto;padding:2px 0}
.whisper-compose-dialog .preview-thumb{flex:0 0 76px;width:76px;height:76px;max-height:none;padding:0 !important;border:0 !important;border-radius:11px;background:transparent !important;box-shadow:none;appearance:none;-webkit-appearance:none}
.whisper-compose-dialog .preview-thumb img{display:block;width:100% !important;height:100% !important;min-width:100%;max-width:none;object-fit:cover !important}
.whisper-compose-dialog .preview-thumb span{display:none}
.whisper-compose-dialog .preview-thumb.is-active{border-color:transparent;box-shadow:0 5px 13px rgba(129,76,91,.12);transform:scale(1.025)}
.whisper-compose-dialog .image-preview #remove-image{position:static;flex:0 0 auto;padding:6px 2px;border-radius:0;background:transparent !important;color:#8b777c;font-size:11px;font-weight:600;backdrop-filter:none;-webkit-backdrop-filter:none}
.whisper-compose-dialog .image-preview #remove-image:hover{color:#a45e72}
@media(max-width:700px){
  .whisper-compose-dialog .image-preview{gap:8px}
  .whisper-compose-dialog .preview-thumb{flex-basis:68px;width:68px;height:68px;border-radius:10px}
  .whisper-compose-dialog .image-preview #remove-image{font-size:10px}
}

/* A note preview gets one calm lead image; focused mobile reading reveals every photo at its natural ratio. */
.whisper-list.is-stack .whisper-note.has-gallery .note-gallery[data-count="1"]{display:block;height:100%}
.whisper-list.is-stack .whisper-note.has-gallery .note-gallery[data-count="1"] img{display:block;width:100%;height:100%;object-fit:contain;background:rgba(255,255,255,.38)}
@media(max-width:700px){
  .whisper-list.is-stack .whisper-note.has-gallery{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:13px}
  .whisper-list.is-stack .whisper-note.has-gallery .whisper-note-copy{align-self:center}
  .whisper-focus-dialog .whisper-note.has-gallery{display:block;overflow:auto}
  .whisper-focus-dialog .whisper-note.has-gallery .note-gallery{display:block !important;columns:2;column-gap:7px;width:100%;height:auto !important;min-height:0 !important}
  .whisper-focus-dialog .whisper-note.has-gallery .note-gallery img{display:block;width:100%;height:auto !important;min-height:0 !important;margin:0 0 7px;break-inside:avoid;object-fit:contain !important;background:rgba(255,255,255,.45)}
  .whisper-focus-dialog .whisper-note.has-gallery .whisper-note-copy{margin-top:12px}
}

/* Editorial reading rhythm: the saved note uses the same calm measure as the writer. */
.whisper-note-copy p,.whisper-focus-dialog .whisper-note p,.history-notes .whisper-note p{font-family:"Noto Sans SC","DM Sans",sans-serif;font-size:16px;line-height:1.9;letter-spacing:.01em;text-wrap:pretty}
.whisper-note-copy small,.whisper-focus-dialog .whisper-note small,.history-notes .whisper-note small{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.whisper-focus-dialog .whisper-note-copy{align-self:start}
@media(max-width:700px){
  .whisper-note-copy p,.whisper-focus-dialog .whisper-note p,.history-notes .whisper-note p{font-size:15px;line-height:1.9}
  .whisper-focus-dialog .whisper-note.has-gallery .note-gallery,.history-notes .whisper-note.has-gallery .note-gallery{display:block !important;columns:2;column-gap:8px;width:100%;height:auto !important;min-height:0 !important}
  .whisper-focus-dialog .whisper-note.has-gallery .note-gallery img,.history-notes .whisper-note.has-gallery .note-gallery img{display:block;width:100%;height:auto !important;min-height:0 !important;margin:0 0 8px;break-inside:avoid;object-fit:contain !important;background:rgba(255,255,255,.42)}
  .whisper-focus-dialog .whisper-note.has-image:not(.has-gallery),.history-notes .whisper-note.has-image:not(.has-gallery){display:block}
  .whisper-focus-dialog .whisper-note.has-image:not(.has-gallery) figure,.history-notes .whisper-note.has-image:not(.has-gallery) figure{width:100%;height:auto !important;min-height:0 !important;margin:0 0 12px}
  .whisper-focus-dialog .whisper-note.has-image:not(.has-gallery) figure img,.history-notes .whisper-note.has-image:not(.has-gallery) figure img{display:block;width:100%;height:auto !important;object-fit:contain !important;background:rgba(255,255,255,.42)}
  .history-notes .whisper-note{padding:18px;transform:none}
  .history-notes .whisper-note-copy{margin-top:12px}
  .history-notes .whisper-note small{position:static;display:block;margin-top:14px}
}

/* The same picture-and-prose rhythm applies to the full reader and past notes. */
.whisper-focus-dialog .whisper-note.has-gallery,.history-notes .whisper-note.has-gallery{display:block;overflow:auto}
.whisper-focus-dialog .whisper-note.has-gallery .note-gallery,.history-notes .whisper-note.has-gallery .note-gallery{display:block !important;columns:2;column-gap:10px;width:100%;height:auto !important;min-height:0 !important}
.whisper-focus-dialog .whisper-note.has-gallery .note-gallery img,.history-notes .whisper-note.has-gallery .note-gallery img{display:block;width:100%;height:auto !important;min-height:0 !important;margin:0 0 10px;break-inside:avoid;object-fit:contain !important;background:rgba(255,255,255,.42)}
.whisper-focus-dialog .whisper-note.has-image:not(.has-gallery),.history-notes .whisper-note.has-image:not(.has-gallery){display:block}
.whisper-focus-dialog .whisper-note.has-image:not(.has-gallery) figure,.history-notes .whisper-note.has-image:not(.has-gallery) figure{width:100%;height:auto !important;min-height:0 !important;margin:0 0 14px}
.whisper-focus-dialog .whisper-note.has-image:not(.has-gallery) figure img,.history-notes .whisper-note.has-image:not(.has-gallery) figure img{display:block;width:100%;height:auto !important;object-fit:contain !important;background:rgba(255,255,255,.42)}
.history-notes .whisper-note-copy{margin-top:14px}
.history-notes .whisper-note small{position:static;display:block;margin-top:16px}
@media(max-width:700px){
  .whisper-focus-dialog .whisper-note.has-gallery .note-gallery,.history-notes .whisper-note.has-gallery .note-gallery{column-gap:8px}
  .whisper-focus-dialog .whisper-note.has-gallery .note-gallery img,.history-notes .whisper-note.has-gallery .note-gallery img{margin-bottom:8px}
}

/* Stack navigation: visible layers trade places before the focused reader opens. */
.whisper-list.is-stack{--stack-step:46px;min-height:calc(300px + (var(--stack-count,1) * var(--stack-step)));padding-bottom:52px}
.whisper-list.is-stack .whisper-note{transform:translate3d(calc(var(--stack-depth,0) * 7px),calc(var(--stack-depth,0) * var(--stack-step)),calc(var(--stack-depth,0) * -8px)) scale(calc(1 - (var(--stack-depth,0) * .012)));transition:transform .42s cubic-bezier(.16,1,.3,1),filter .28s ease,opacity .28s ease,box-shadow .28s ease,outline-color .28s ease}
@media(max-width:700px){
  .whisper-list.is-stack{--stack-step:38px;min-height:calc(276px + (var(--stack-count,1) * var(--stack-step)));padding-bottom:44px}
  .whisper-list.is-stack .whisper-note{transform:translate3d(calc(var(--stack-depth,0) * 4px),calc(var(--stack-depth,0) * var(--stack-step)),0) scale(calc(1 - (var(--stack-depth,0) * .009)))}
}
@media(prefers-reduced-motion:reduce){.whisper-list.is-stack .whisper-note{transition-duration:1ms}}

/* Five quiet palettes shared by today's stack, the reader, and history. */
.whisper-list .whisper-note.tone-0,.history-notes .whisper-note.tone-0,.whisper-focus-dialog .whisper-note.tone-0{
  background:
    radial-gradient(circle at 12% 9%,rgba(255,255,255,.72) 0 15%,transparent 42%),
    linear-gradient(135deg,#fffdf0 0%,#fff2c9 45%,#f8d9e1 100%) !important;
}
.whisper-list .whisper-note.tone-1,.history-notes .whisper-note.tone-1,.whisper-focus-dialog .whisper-note.tone-1{
  background:
    radial-gradient(circle at 89% 10%,rgba(255,255,255,.7) 0 15%,transparent 41%),
    linear-gradient(135deg,#e7f1fa 0%,#fffbd5 44%,#eee1f4 100%) !important;
}
.whisper-list .whisper-note.tone-2,.history-notes .whisper-note.tone-2,.whisper-focus-dialog .whisper-note.tone-2{
  background:
    radial-gradient(circle at 12% 90%,rgba(255,255,255,.58) 0 17%,transparent 42%),
    linear-gradient(135deg,#fff7f3 0%,#fbdedc 47%,#f3cfd4 100%) !important;
}
.whisper-list .whisper-note.tone-3,.history-notes .whisper-note.tone-3,.whisper-focus-dialog .whisper-note.tone-3{
  background:
    radial-gradient(circle at 88% 9%,rgba(255,255,255,.7) 0 15%,transparent 41%),
    linear-gradient(135deg,#eff7ec 0%,#dce9d8 48%,#eadfce 100%) !important;
}
.whisper-list .whisper-note.tone-4,.history-notes .whisper-note.tone-4,.whisper-focus-dialog .whisper-note.tone-4{
  background:
    radial-gradient(circle at 10% 10%,rgba(255,255,255,.72) 0 16%,transparent 41%),
    linear-gradient(135deg,#e3f6ee 0%,#eaf9f4 36%,#d8e8f7 100%) !important;
}

/* Full reading view for a single saved whisper: text and every photo stay together. */
.history-notes .whisper-note[role="button"]{cursor:pointer}
.history-notes .whisper-note[role="button"]:focus-visible{outline:3px solid rgba(185,111,130,.48);outline-offset:4px}
.whisper-focus-dialog{width:min(960px,calc(100vw - 24px));height:min(92dvh,920px);max-height:none;border-radius:24px;background:transparent;overflow:hidden}
.focus-sheet{position:relative;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);height:100%;padding:30px 34px 26px;overflow:hidden;border:1px solid rgba(255,255,255,.76);border-radius:24px;background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(251,232,236,.96));box-shadow:0 26px 70px rgba(54,35,42,.22)}
.focus-sheet .eyebrow{padding-right:48px}.focus-sheet h2{margin:8px 48px 0 0;color:#3b3337;font-size:clamp(24px,4vw,34px);letter-spacing:-.035em}.focus-date{display:block;margin:7px 0 18px;color:#927a81;font:500 12px/1.4 "DM Sans","Noto Sans SC",sans-serif}
.focus-card{max-height:none;padding:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.focus-text{max-width:720px;margin:0 0 24px;color:#3f3539;font:400 17px/1.92 "Noto Sans SC","DM Sans",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
.focus-gallery{columns:2;column-gap:12px;margin:0;padding:0}.focus-gallery img{display:block;width:100%;height:auto;margin:0 0 12px;break-inside:avoid;border-radius:15px;background:rgba(255,255,255,.5);box-shadow:0 7px 18px rgba(93,60,70,.08)}
.focus-close{right:22px;top:22px;width:44px;height:44px}.focus-close:focus-visible{outline:3px solid rgba(185,111,130,.4);outline-offset:3px}
@media(max-width:700px){.whisper-focus-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:18px}.focus-sheet{padding:23px 18px 16px;border-radius:18px}.focus-sheet h2{font-size:27px}.focus-date{margin-bottom:14px}.focus-text{margin-bottom:18px;font-size:16px;line-height:1.88}.focus-gallery{columns:1;column-gap:0}.focus-gallery img{margin-bottom:10px;border-radius:13px}.focus-close{right:12px;top:12px;width:44px;height:44px}}
@media(prefers-reduced-transparency:reduce){.focus-sheet{background:#fffaf8}.whisper-focus-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
