.dts-diary { --dts-ink:#24352d; --dts-muted:#52655a; --dts-line:#cbd9cd; --dts-leaf:#2d6545; --dts-pale:#f2f7f1; --dts-surface:#fff; color:var(--dts-ink); width:min(100%, 860px); margin:0 auto; padding:clamp(1rem,3vw,2rem) 0 3rem; line-height:1.55; overflow-wrap:anywhere; }
.dts-diary *, .dts-diary *::before, .dts-diary *::after { box-sizing:border-box; }
.dts-diary h1, .dts-diary h2, .dts-diary h3 { color:var(--dts-ink); line-height:1.2; margin-top:0; }
.dts-diary h1 { font-size:clamp(2rem,5vw,3.1rem); margin-bottom:.8rem; }
.dts-diary h2 { font-size:clamp(1.35rem,3vw,1.7rem); margin-bottom:.8rem; }
.dts-diary h3 { font-size:1.13rem; margin:1.6rem 0 .45rem; }
.dts-diary p { margin:.6rem 0 1rem; }
.dts-diary a { color:#195f3a; text-underline-offset:.14em; }
.dts-diary-hero { padding:0 .15rem 1rem; }
.dts-diary-eyebrow { font-weight:700; color:var(--dts-leaf); letter-spacing:.08em; text-transform:uppercase; font-size:.77rem; }
.dts-diary-hero > p:last-child { max-width:68ch; font-size:1.06rem; }
.dts-diary-panel { background:var(--dts-surface); border:1px solid var(--dts-line); border-radius:14px; padding:clamp(1rem,3.2vw,1.75rem); margin:1rem 0 1.3rem; box-shadow:0 4px 18px rgba(22,56,34,.055); }
.dts-diary-intro, .dts-diary-hint, .dts-diary-field small { color:var(--dts-muted); font-size:.92rem; }
.dts-diary-grid { display:grid; gap:0 1rem; }
.dts-diary-field { min-width:0; margin-bottom:1.05rem; }
.dts-diary-field label { display:block; font-weight:650; margin-bottom:.35rem; }
.dts-diary-field input, .dts-diary-field textarea { display:block; width:100%; max-width:100%; min-width:0; background:#fff; border:1.5px solid #9aafa0; border-radius:8px; color:var(--dts-ink); font:inherit; padding:.72rem .75rem; }
.dts-diary-field textarea { resize:vertical; min-height:4.5rem; }
.dts-diary-field input:focus-visible, .dts-diary-field textarea:focus-visible, .dts-diary-button:focus-visible, .dts-diary-view-button:focus-visible, .dts-diary-entry summary:focus-visible, .dts-diary-period-details > summary:focus-visible, .dts-diary-check input:focus-visible { outline:3px solid #ebae5a; outline-offset:2px; }
.dts-diary-field small { display:block; margin-top:.25rem; }
.dts-diary-quiet-wrap { background:var(--dts-pale); border-radius:9px; padding:.85rem 1rem .2rem; margin:.25rem 0 1rem; }
.dts-diary-check { display:flex; align-items:flex-start; gap:.55rem; font-weight:650; cursor:pointer; }
.dts-diary-check input { margin:.27rem 0 0; width:1.1rem; height:1.1rem; flex:none; accent-color:var(--dts-leaf); }
.dts-diary-fields { border:0; margin:0; padding:0; min-width:0; }
.dts-diary-fields:disabled { opacity:.6; }
.dts-diary-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; margin:.6rem 0; }
.dts-diary-button { border:1.5px solid var(--dts-leaf); border-radius:8px; background:var(--dts-leaf); color:#fff; font:inherit; font-weight:700; line-height:1.35; cursor:pointer; padding:.75rem 1.05rem; min-height:44px; max-width:100%; white-space:normal; text-align:center; }
.dts-diary-button:hover { background:#214c34; }
.dts-diary-button--subtle { background:#fff; color:var(--dts-leaf); }
.dts-diary-button--subtle:hover { background:var(--dts-pale); }
.dts-diary-button--danger { color:#823a32; background:#fff; border-color:#b7766b; }
.dts-diary-button--danger:hover { background:#fff0ed; }
.dts-diary [hidden] { display:none !important; }
.dts-diary-summary { background:var(--dts-pale); border-left:4px solid var(--dts-leaf); padding:.85rem 1rem; border-radius:0 8px 8px 0; }
.dts-diary-view { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.2rem; }
.dts-diary-view-button { border:1.5px solid var(--dts-leaf); color:var(--dts-leaf); background:#fff; border-radius:8px; padding:.55rem .9rem; min-width:5.2rem; min-height:44px; font:inherit; font-weight:700; cursor:pointer; }
.dts-diary-view-button[aria-pressed="true"] { background:var(--dts-leaf); color:#fff; }
.dts-diary-view-button:hover { box-shadow:inset 0 0 0 1px var(--dts-leaf); }
.dts-diary-list { list-style:none; padding:0; margin:1rem 0 0; display:grid; gap:.85rem; }
.dts-diary-list > li, .dts-diary-period-list > li { background:#fbfdfb; border:1px solid var(--dts-line); border-radius:10px; padding:.7rem 1rem; min-width:0; }
.dts-diary-list time { color:var(--dts-leaf); font-weight:700; }
.dts-diary-entry summary { cursor:pointer; padding:.15rem 0; line-height:1.4; }
.dts-diary-entry summary::marker { color:var(--dts-leaf); }
.dts-diary-entry summary time { display:block; font-size:.91rem; margin-bottom:.15rem; }
.dts-diary-entry-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; font-weight:650; }
.dts-diary-entry[open] .dts-diary-entry-title { display:block; white-space:pre-wrap; }
.dts-diary-entry[open] summary { margin-bottom:.6rem; }
.dts-diary-list > li.dts-diary-period { background:transparent; border:0; padding:0; }
.dts-diary-period-details > summary { padding:.65rem .8rem; min-height:44px; border-left:3px solid var(--dts-leaf); background:var(--dts-pale); border-radius:0 7px 7px 0; cursor:pointer; }
.dts-diary-period-details > summary::marker { color:var(--dts-leaf); }
.dts-diary-period-title { font-size:1.05rem; font-weight:700; }
.dts-diary-period-list { list-style:none; padding:0; margin:.65rem 0 0; display:grid; gap:.6rem; }
.dts-diary-month-more { margin-top:.75rem; }
.dts-diary-older { margin-top:1rem; }
.dts-diary-list dl { display:grid; grid-template-columns:minmax(6rem,9rem) minmax(0,1fr); gap:.3rem .65rem; margin:.5rem 0; }
.dts-diary-list dt { font-weight:650; }
.dts-diary-list dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.dts-diary-card-actions { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.7rem; }
.dts-diary-card-actions .dts-diary-button { min-height:40px; padding:.45rem .8rem; font-size:.94rem; }
.dts-diary-storage #dts-diary-save-status { font-weight:650; }
.dts-diary-reading { padding:.8rem .15rem 0; }
.dts-diary-reading h2:not(:first-child) { margin-top:2rem; }
.dts-diary-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; clip-path:inset(50%); }
@media (min-width:640px) { .dts-diary-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px) { .dts-diary-list dl { grid-template-columns:1fr; gap:0; } .dts-diary-list dd { margin-bottom:.5rem; } .dts-diary-actions > .dts-diary-button { width:100%; } }
