:root{--ink:#25243b;--muted:#7f7d92;--paper:#faf9fc;--line:#ebe9f0;--purple:#7666dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans","Noto Sans SC",sans-serif}.whispers-page{max-width:1080px;margin:auto;padding:54px 7vw 70px}.back{display:inline-flex;margin-bottom:46px;color:#7162ca;text-decoration:none;font-size:13px}.eyebrow{margin:0;color:#9d9aaa;font-size:10px;font-weight:700;letter-spacing:1.3px}.whispers-page h1{margin:9px 0;font-size:48px;letter-spacing:-2px}.whispers-page header>p:last-child{margin:0;color:var(--muted);font-size:15px}.writing-card{position:relative;margin-top:41px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;gap:12px}.writing-card label{font-size:16px;font-weight:700}.writing-card textarea{height:140px;resize:vertical;border:0;outline:0;background:transparent;color:var(--ink);font:14px/1.8 "Noto Sans SC",sans-serif}.writing-card>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0eef3;padding-top:14px}.writing-card small{color:#aaa;font-size:11px}.writing-card button{border:0;border-radius:9px;background:var(--purple);color:#fff;padding:10px 15px;font:600 12px inherit;cursor:pointer}.pin{position:absolute;right:23px;top:20px;color:#d5c9ff;font-size:20px}.notes-section{margin-top:34px}.notes-section h2,.history-section h2{font-size:22px;margin:7px 0 20px}.whisper-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.whisper-note{position:relative;min-height:150px;padding:22px 18px 17px;border-radius:8px 16px 12px 16px;box-shadow:0 8px 18px rgba(54,48,83,.06);transform:rotate(-.5deg)}.whisper-note:nth-child(even){transform:rotate(.5deg)}.whisper-note p{margin:0;white-space:normal;font-size:13px;line-height:1.8}.whisper-note small{position:absolute;left:18px;bottom:15px;color:#8d8794;font-size:10px}.whisper-note button{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#aaa;font-size:19px;opacity:0;cursor:pointer}.whisper-note:hover button{opacity:1}.tone-0{background:#fff0b9}.tone-1{background:#dff3ed}.tone-2{background:#e8e4ff}.tone-3{background:#ffe5db}#empty-notes,#empty-history{margin:0;color:#9d9aaa;font-size:13px}.history-section{margin-top:58px;padding-top:32px;border-top:1px solid var(--line)}.history-section>p:not(.eyebrow){margin:0 0 19px;color:var(--muted);font-size:13px}.date-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.date-card{position:relative;min-height:92px;padding:16px;border:1px solid #e8e5ef;border-radius:13px;background:#fff;text-align:left;color:var(--ink);cursor:pointer;transition:.2s}.date-card:hover{transform:translateY(-2px);box-shadow:0 9px 19px rgba(58,49,89,.08)}.date-card span{color:#8b7de1;font-size:17px;margin-right:8px}.date-card b,.date-card small{display:block}.date-card b{font-size:13px;margin:8px 0 3px}.date-card small{font-size:11px;color:#999}.date-card em{position:absolute;right:15px;bottom:15px;color:#8b7de1;font-style:normal}#history-dialog{border:0;border-radius:18px;width:min(720px,calc(100vw - 36px));padding:28px;box-shadow:0 24px 70px rgba(41,33,81,.25)}#history-dialog::backdrop{background:rgba(34,28,58,.5)}#history-dialog .dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:24px;color:#888;cursor:pointer}#history-dialog h2{margin:8px 0 21px;font-size:24px}.history-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.history-notes .whisper-note{min-height:130px}@media(max-width:700px){.whispers-page{padding:34px 22px}.whispers-page h1{font-size:38px}.whisper-list,.date-list,.history-notes{grid-template-columns:1fr}.whisper-note{min-height:125px}}
.date-list{display:block}.history-calendar{max-width:430px;border:1px solid #ebe7f0;border-radius:14px;background:#fff;padding:13px}.history-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.history-calendar-head strong{font-size:13px}.history-calendar-head button{width:28px;height:28px;border:0;border-radius:8px;background:#f4f1ff;color:#715fd0;font-size:20px;cursor:pointer}.history-weekdays,.history-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.history-weekdays span{text-align:center;color:#aaa5b5;font-size:10px}.history-days{margin-top:5px}.history-day{position:relative;display:grid;place-items:center;min-height:34px;border:0;border-radius:8px;background:transparent;color:#4b465c;font:600 12px inherit;cursor:pointer}.history-day:hover{background:#f4f1ff}.history-day.is-today{color:#fff;background:#7666dc}.history-day i{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:#b694ed}.history-day.is-today i{background:#fff}.history-day.blank{pointer-events:none}.history-empty{margin:0;color:#9993a5;font-size:13px}
.history-day.is-edited{box-shadow:inset 0 0 0 2px #8a70df;color:#6f55c6}.history-day.is-edited.is-today{color:#fff;box-shadow:inset 0 0 0 2px #fff}.whisper-context-menu{position:fixed;z-index:30;display:none;min-width:158px;padding:10px;background:#fff;border:1px solid #ebe7f0;border-radius:12px;box-shadow:0 12px 32px rgba(44,34,75,.16)}.whisper-context-menu.visible{display:grid;gap:7px}.whisper-context-menu strong{font-size:12px;color:#797486}.whisper-context-menu button{border:0;border-radius:8px;background:#f5f2ff;color:#6652c1;padding:8px;text-align:left;font:600 12px inherit;cursor:pointer}.whisper-context-menu [data-note-delete]{background:#fff1ef;color:#b65b57}
.whisper-edit-dialog{width:min(560px,calc(100vw - 36px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px rgba(41,33,81,.25)}.whisper-edit-dialog::backdrop{background:rgba(34,28,58,.5)}.whisper-edit-dialog form{position:relative;display:grid;gap:13px;padding:26px}.whisper-edit-dialog h2{margin:0;font-size:22px}.whisper-edit-dialog textarea{min-height:180px;resize:vertical;border:1px solid #e7e2f1;border-radius:11px;padding:12px;color:var(--ink);font:14px/1.8 "Noto Sans SC",sans-serif;outline-color:#a291e7}.whisper-edit-dialog form>div{display:flex;align-items:center;justify-content:space-between}.whisper-edit-dialog small{color:#999;font-size:11px}.whisper-edit-dialog button[type="submit"]{border:0;border-radius:9px;background:#7666dc;color:#fff;padding:10px 14px;font:600 12px inherit;cursor:pointer}.edit-dialog-close{position:absolute;right:13px;top:9px;border:0;background:transparent;color:#888;font-size:24px;cursor:pointer}
