.stat-summary{position:relative;min-height:178px}.period-bottle-wrap{position:absolute;top:0;bottom:auto;left:calc(83.333% - 71px);right:auto;width:142px;margin:0}.period-bottle{position:relative;width:var(--bottle-size);height:calc(var(--bottle-size) * 1.08);margin:0 auto;border:0;background:transparent url("assets/jar.png") center/contain no-repeat;cursor:pointer;display:block}.period-bottle.week{--bottle-size:91px}.period-bottle.month{--bottle-size:114px}.period-bottle.year{--bottle-size:139px}.period-bottle:focus-visible{outline:2px solid #718577;border-radius:18px}.period-bottle-balls{position:absolute;left:18%;right:18%;top:30%;bottom:14%;overflow:hidden;border-radius:18% 18% 29% 29%;pointer-events:none}.period-bottle.week .period-bottle-balls{transform:translateX(3px)}.period-bottle-ball{position:absolute;width:8px;aspect-ratio:1;border-radius:50%;background:var(--c);opacity:.72;transform:translateX(-50%)}.bottle-instruction{margin:4px 0 0;color:#758076;font-size:11px;line-height:1.45}.stat-records{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}.stat-records[hidden]{display:none}.stat-record{padding:15px 0;border-bottom:1px solid var(--line)}.stat-record-head{display:flex;gap:10px;align-items:center;font-size:13px}.stat-record-head i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:0 0 auto}.stat-record-head div{flex:1}.stat-record-head small{display:block;color:#969187;font:10px "DM Mono",monospace}.stat-record textarea{width:100%;height:62px;margin:10px 0 8px;padding:8px;border:1px solid #e6ddd1;border-radius:4px;background:#fffdf8;color:var(--ink);font:13px/1.6 "Noto Serif SC",serif;resize:vertical}.stat-actions{display:flex;gap:8px;justify-content:flex-end}.stat-actions button{border:0;border-radius:99px;padding:7px 12px;background:#e8eee7;color:#58715f;font:12px "Noto Serif SC",serif;cursor:pointer}.stat-actions .delete-record{background:#f4e5df;color:#a26459}.stats-bottle-empty{font-size:12px;color:#979185;text-align:center;margin:13px 0}.stats-content .distribution{margin-top:10px}
.emotion-timeline{display:grid;grid-template-columns:repeat(12,18px);gap:9px 8px;align-items:center;margin:17px 0 18px}.emotion-time-dot{width:18px;height:18px;border-radius:50%;background:var(--c);opacity:1;box-shadow:none}.emotion-counts{display:flex;flex-wrap:wrap;gap:10px 17px;padding-top:13px;border-top:1px solid var(--line)}.emotion-count{display:inline-flex;align-items:center;gap:6px;color:#687168;font:13px "DM Mono",monospace}.emotion-count i{width:12px;height:12px;border-radius:50%;background:var(--c);opacity:1}.emotion-count b{font-weight:400}@media(max-width:380px){.emotion-timeline{grid-template-columns:repeat(10,18px);gap:8px 7px}}
.recent-expandable{cursor:pointer;border-radius:4px;transition:background .18s}.recent-expandable:hover{background:#eee8dd70}.recent-expandable:focus-visible{outline:1px solid #8ca08e;outline-offset:2px}.recent-expandable>div{min-width:0}.recent-expandable>span{flex:0 0 auto}.recent-text{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-expandable.expanded .recent-text{overflow:visible;white-space:pre-wrap;line-height:1.7}

/* Editing a long record must not expand the statistics page indefinitely. */
.stat-record textarea{max-height:180px;overflow-y:auto;overflow-wrap:anywhere;word-break:break-word}

/* Local JSON backup and restore controls. */
.data-backup{margin-top:34px;padding:25px 0 8px;border-top:1px solid var(--line)}
.backup-note{margin:12px 0 17px;color:#8b877e;font-size:12px;line-height:1.75}
.backup-actions{display:flex;gap:10px}
.backup-actions button{flex:1;border:1px solid #cfd9d0;border-radius:99px;padding:11px 14px;background:#edf2ec;color:#58715f;font:13px "Noto Serif SC",serif;cursor:pointer}
.backup-actions button+button{background:#fffdf8;border-color:#ded6ca;color:#746e65}
.backup-actions button:focus-visible{outline:2px solid #718577;outline-offset:2px}
.backup-status{min-height:20px;margin:10px 2px 0;color:#6f8875;font-size:11px;line-height:1.6}
.backup-status.error{color:#a26459}
