/* Diary: capture is immediate; reports are readable without opening an editor. */
.diary-view { padding:24px 28px 64px; overflow:auto; max-height:calc(100dvh - 155px); color:var(--text); }
.diary-view *, .diary-settings * { box-sizing:border-box; }
.diary-shell { max-width:1320px; margin:0 auto; min-width:0; }
.diary-view [hidden] { display:none!important; }
.diary-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.diary-heading h2 { margin:0; font-size:28px; line-height:1.25; letter-spacing:-.04em; }
.diary-heading p { margin:8px 0 0; color:var(--muted); line-height:1.5; font-size:13px; }
.diary-navigation { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.diary-mode-switch { display:flex; padding:4px; gap:4px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.diary-mode-switch button { min-height:44px; padding:10px 20px; border:0; border-radius:8px; color:var(--muted); background:transparent; font:inherit; font-size:13px; font-weight:650; }
.diary-mode-switch button[aria-pressed="true"] { background:var(--focus,#68e5ab); color:#102018; }
.diary-toolbar,.diary-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.diary-view button { cursor:pointer; }
.diary-view button:disabled { opacity:.45; cursor:default; }
.diary-view button:focus-visible,.diary-view input:focus-visible,.diary-view textarea:focus-visible,.diary-view summary:focus-visible,.diary-view select:focus-visible { outline:2px solid var(--focus,#68e5ab); outline-offset:3px; }
.diary-view :is(.soft-button,.accent-button) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; margin:0; line-height:20px; font-size:12px; white-space:normal; text-align:center; border-radius:10px; }
.diary-view :is(input,select,textarea) { color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:10px; font:inherit; font-size:14px; padding:11px 12px; min-width:0; max-width:100%; }
.diary-view :is(input,select) { min-height:44px; }
.diary-view textarea { display:block; width:100%; resize:vertical; line-height:1.6; margin:12px 0; }
.diary-view textarea::placeholder { color:var(--muted); opacity:1; }
.diary-date-label { display:block; }
.diary-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin:20px 0 12px; }
.diary-week button { display:grid; justify-items:center; gap:5px; min-height:76px; padding:10px 4px 6px; background:var(--surface); color:var(--muted); border:1px solid var(--line); border-radius:12px; }
.diary-week button b { color:var(--text); font-size:17px; line-height:1.2; }
.diary-week button small { font-size:11px; }
.diary-week button span { font-size:11px; line-height:1; height:10px; }
.diary-week button.is-active { border-color:var(--focus,#68e5ab); box-shadow:inset 0 0 0 1px var(--focus,#68e5ab); background:var(--focus-soft,rgba(104,229,171,.08)); color:var(--text); }
#diaryNotice { font-size:13px; line-height:1.5; color:var(--text); margin:12px 0; }
#diaryNotice:empty { display:none; }
.diary-workspace { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr); align-items:start; gap:20px; margin-top:24px; }
.diary-card { padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); min-width:0; margin-bottom:20px; }
.diary-card h3 { margin:0; font-size:18px; line-height:1.3; }
.diary-muted { color:var(--muted); font-size:13px; line-height:1.6; }
.diary-capture > .diary-muted { margin:6px 0 20px; }
.diary-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.diary-categories button { min-height:44px; padding:8px 6px; background:transparent; border:1px solid var(--line); border-radius:10px; color:var(--muted); font:inherit; font-size:12px; line-height:1.3; }
.diary-categories button[aria-pressed="true"] { border-color:var(--focus,#68e5ab); color:var(--text); background:var(--focus-soft,rgba(104,229,171,.08)); }
.diary-capture-actions { justify-content:space-between; margin:14px 0 10px; }
.diary-capture-actions .accent-button { min-width:110px; }
#diaryVoiceStatus { display:block; font-size:12px; line-height:1.5; color:var(--muted); }
.diary-project-option { margin-top:16px; font-size:12px; color:var(--muted); }
.diary-view summary { cursor:pointer; padding:12px 0; font-size:13px; line-height:1.5; }
.diary-project-option select { width:100%; margin:6px 0; }
.diary-helper-invite { border-top:1px solid var(--line); margin-top:20px; padding-top:20px; }
.diary-helper-invite b { font-size:13px; }
.diary-helper-invite p { color:var(--muted); font-size:12px; line-height:1.6; margin:8px 0 12px; }
.diary-helper-invite > button { width:100%; margin-top:6px!important; }
.diary-text-button { border:0; background:transparent; color:var(--focus,#68e5ab); font:inherit; font-size:12px; padding:10px 4px; min-height:44px; }
.diary-result { border-top:2px solid var(--focus,#68e5ab); }
.diary-result-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:24px; }
.diary-eyebrow { display:block; font-size:12px; color:var(--muted); margin-bottom:6px; }
.diary-badge { display:inline-flex; align-items:center; flex-shrink:0; padding:5px 9px; border:1px solid var(--line); border-radius:20px; color:var(--muted); font-size:11px; line-height:1.4; }
.diary-prose { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.diary-prose :is(h1,h2,h3,h4) { font-size:15px; line-height:1.5; margin:24px 0 10px; color:var(--text); }
.diary-prose > :first-child { margin-top:0; }
.diary-prose > :last-child { margin-bottom:0; }
.diary-prose p { margin:8px 0 12px; }
.diary-prose ul,.diary-prose ol { padding-left:22px; margin:8px 0 18px; }
.diary-prose li { padding-left:2px; margin:6px 0; }
.diary-prose em { color:var(--muted); }
.diary-prose pre { white-space:pre-wrap; font:inherit; }
.diary-prose a { color:var(--focus,#68e5ab); }
.diary-prose hr { border:0; border-top:1px solid var(--line); margin:24px 0; }
.diary-report-hint { font-size:12px; line-height:1.6; color:var(--muted); margin:24px 0 12px; }
.diary-result-actions { padding-top:16px; border-top:1px solid var(--line); }
.diary-report-editor { margin-top:16px; border-top:1px solid var(--line); padding-top:4px; }
.diary-report-editor summary { color:var(--muted); }
.diary-report-editor small { font-size:12px; color:var(--muted); }
.diary-empty { padding:20px 0; }
.diary-empty h4 { font-size:18px; }
.diary-empty p { color:var(--muted); font-size:13px; line-height:1.7; }
.diary-empty-sections { display:grid; gap:12px; color:var(--muted); font-size:13px; margin:24px 0; }
.diary-week-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:28px 0 20px; }
.diary-week-heading h3 { margin:0; font-size:22px; }
.diary-week-heading p { font-size:13px; color:var(--muted); line-height:1.6; margin:8px 0 0; }
.diary-week-report header { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:16px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.diary-day-link { border:0; background:transparent; color:var(--text); font:inherit; font-weight:650; font-size:16px; padding:4px 0; min-height:36px; text-align:left; }
.diary-day-link span { color:var(--focus,#68e5ab); margin-left:8px; }
.diary-history { border-top:1px solid var(--line); padding:6px 0; }
.diary-history > summary { color:var(--muted); }
.diary-history article { padding:12px 0; }
.diary-raw-notes p { white-space:pre-wrap; font-size:13px; line-height:1.6; }
.diary-assistant > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.diary-messages { max-height:360px; overflow:auto; margin:16px 0; }
.diary-message { padding:12px 14px; border-left:2px solid var(--focus,#68e5ab); margin:12px 0; }
.diary-message.user { border-color:var(--line); }
.diary-message > b { font-size:12px; color:var(--muted); }
.diary-message .diary-prose { font-size:13px; margin-top:6px; }
.diary-ai-revision { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.diary-ai-revision > p { color:var(--muted); font-size:13px; }
.diary-ai-revision > button { margin-top:20px!important; }
.diary-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.diary-reminder { position:fixed; right:24px; bottom:24px; z-index:1000; display:flex; gap:8px; flex-wrap:wrap; max-width:460px; padding:20px; background:var(--surface); color:var(--text); border:1px solid var(--line); box-shadow:0 8px 40px #0003; border-radius:16px; }
.diary-today-card { margin:12px 0; padding:16px; border:1px solid var(--line); border-radius:12px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.diary-today-card small { display:block; color:var(--muted); margin-top:4px; }
.diary-settings { border:1px solid var(--line); color:var(--text); background:var(--surface); }
@media(max-width:1100px) { .diary-workspace { grid-template-columns:1fr; } .diary-capture { margin-bottom:0; } }
@media(max-width:800px) {
 .diary-view { padding:16px 16px 100px; max-height:none; overflow:visible; }
 .diary-heading { align-items:flex-start; gap:12px; margin-bottom:20px; }
 .diary-heading h2 { font-size:24px; }
 .diary-heading p { font-size:12px; }
 .diary-settings-button { font-size:11px!important; padding:8px!important; }
 .diary-navigation { gap:12px; }
 .diary-mode-switch { width:100%; }
 .diary-mode-switch button { flex:1; }
 .diary-toolbar { width:100%; gap:6px; }
 .diary-date-label { flex:1; }
 .diary-date-label input { width:100%; }
 .diary-toolbar .soft-button { padding:10px; }
 .diary-week { gap:4px; margin-top:16px; }
 .diary-week button { border-radius:9px; min-height:72px; }
 .diary-card { padding:18px; border-radius:14px; }
 .diary-workspace { gap:16px; margin-top:20px; }
 .diary-view :is(input,select,textarea) { font-size:16px; }
 .diary-result-actions { gap:8px; }
 .diary-result-actions > .diary-text-button { width:100%; text-align:left; }
 .diary-week-heading { display:block; }
 .diary-week-heading .diary-actions { margin-top:14px; }
 .diary-week-report header { align-items:flex-start; }
 .diary-badge { font-size:10px; }
 .diary-prose { font-size:14px; }
 .diary-reminder { left:12px; right:12px; bottom:80px; }
 .diary-today-card { flex-wrap:wrap; }
}
.diary-settings { width:min(480px,calc(100vw - 32px));max-width:480px;max-height:calc(100dvh - 32px);padding:0;overflow:auto;box-sizing:border-box;border-radius:20px;box-shadow:0 24px 90px #0006; }
.diary-settings::backdrop { background:#0008;backdrop-filter:blur(3px); }
.diary-settings form { padding:24px;display:grid;gap:22px; }
.diary-settings-head { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }
.diary-settings-head h3 { margin:0;font-size:20px;line-height:1.3; }
.diary-settings-head p { margin:6px 0 0;font-size:13px;color:var(--muted); }
.diary-settings-head button { display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;background:var(--surface-2);color:var(--text);border-radius:10px;font-size:24px; }
.diary-settings label { margin:0; }
.diary-settings .diary-switch-row { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.diary-switch-row span { display:grid;gap:5px; }
.diary-switch-row small { color:var(--muted);font-size:12px; }
.diary-switch-row input { appearance:none;width:44px;height:26px;flex:0 0 44px;margin:0;border:1px solid var(--line);border-radius:20px;background:var(--surface-2);position:relative;cursor:pointer; }
.diary-switch-row input::after { content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .15s; }
.diary-switch-row input:checked { background:var(--accent); }
.diary-switch-row input:checked::after { background:var(--accent-inverse);transform:translateX(18px); }
.diary-schedule { min-width:0;border:0;padding:0;margin:0;display:grid;gap:14px; }
.diary-schedule legend { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.diary-schedule:disabled { opacity:.45; }
.diary-settings .diary-time-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.diary-time-row span { display:grid;gap:4px; }
.diary-time-row small { color:var(--muted);font-size:12px; }
.diary-time-row input { min-height:44px;width:124px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface-2);color:var(--text);font:inherit;box-sizing:border-box; }
.diary-days-label { font-size:13px;color:var(--muted); }
.diary-days-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px; }
.diary-days-grid label { position:relative;display:block; }
.diary-days-grid input { position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer; }
.diary-days-grid span { display:grid;place-items:center;height:42px;border:1px solid var(--line);border-radius:10px;font-size:13px; }
.diary-days-grid input:checked + span { background:var(--text);color:var(--surface);border-color:var(--text); }
.diary-settings input:focus-visible,.diary-days-grid input:focus-visible + span { outline:2px solid var(--focus);outline-offset:3px; }
.diary-settings footer { display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px; }
.diary-settings footer button { min-height:44px;min-width:108px;padding:10px 16px;line-height:20px;box-sizing:border-box; }
.diary-settings-error:empty { display:none; }
.diary-settings-error { margin:0;color:var(--text);font-size:13px; }

@media(max-width:800px){.diary-settings form{padding:20px;gap:20px}.diary-settings input{font-size:16px}}
.diary-helper-invite > summary { padding:4px 0; font-size:13px; color:var(--text); }
.diary-helper-invite:not([open]) { margin-top:16px; padding-top:16px; }
.diary-mobile-jump { display:none; }
.diary-week-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start; }
.diary-week-group h3 { font-size:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.diary-week-group h3 > span { color:var(--focus); margin-right:4px; }
.diary-week-group article { padding-top:12px; margin-top:4px; }
.diary-week-group article + article { margin-top:18px; border-top:1px solid var(--line); }
.diary-week-group .diary-day-link { font-size:12px; color:var(--muted); font-weight:500; }
.diary-week-group .diary-day-link > span { font-size:10px; }
.diary-week-group .diary-prose { font-size:13px; }
@media(max-width:1100px) { .diary-week-groups { grid-template-columns:1fr; gap:0; } }
@media(max-width:800px) { .diary-mobile-jump { display:inline-flex; } .diary-capture .diary-mobile-jump { margin-top:8px; } .diary-result { scroll-margin-top:16px; } }
.diary-entry-tools > header { display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap; }
.diary-entry-tools > header p { margin-bottom:0; }
.diary-task-suggestions { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px; }
.diary-task-suggestion { border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0; }
.diary-task-suggestion label { display:grid;gap:8px;font-size:12px;color:var(--muted);margin-bottom:14px; }
.diary-task-suggestion :is(input,select) { width:100%; }
.diary-task-suggestion > p { font-size:12px;line-height:1.6; }
.diary-correction { padding:16px 0;border-bottom:1px solid var(--line); }
.diary-correction details p { white-space:pre-wrap;line-height:1.6;font-size:13px; }
@media(max-width:600px){.diary-task-suggestions{grid-template-columns:1fr}.diary-entry-tools>header>button{width:100%}}
