/* Record (writing), Detail (reading), Timeline (index) share semantic roles.
   Scale: 8 / 16 / 24 / 40 / 64. Decoration never defines a section boundary. */
:root{--doc-space-1:8px;--doc-space-2:16px;--doc-space-3:24px;--doc-space-4:40px;--doc-space-5:64px;--doc-title:28px;--doc-section:20px;--doc-item:17px;--doc-label:13px;--doc-body:16px;--doc-meta:13px}
.exercise-document,.document-index{color:var(--ink);line-height:1.85;overflow-wrap:anywhere}
.exercise-document h1,.view-timeline .document-header h1{font-size:var(--doc-title);line-height:1.45;font-weight:700;color:var(--green);margin:0}
.exercise-document h2{font-size:var(--doc-section);line-height:1.6;font-weight:650;color:var(--green);margin:0 0 var(--doc-space-3)}
.exercise-document h3,.document-index h3{font-size:var(--doc-item);line-height:1.7;font-weight:600;color:var(--green);margin:0 0 var(--doc-space-2)}
.exercise-document h4,.exercise-document .semantic-label,.document-index h4,.document-index h5{font-size:var(--doc-label);font-weight:500;color:var(--muted);line-height:1.7;margin:0 0 var(--doc-space-1)}
.exercise-document p,.document-index p{font-size:var(--doc-body);line-height:1.85;white-space:pre-wrap;margin:0}
.exercise-document .page-metadata,.document-index .page-metadata{display:flex;flex-wrap:wrap;gap:var(--doc-space-1) var(--doc-space-2);font-size:var(--doc-meta);color:var(--muted);margin:var(--doc-space-2) 0 0}
.exercise-document .secondary-text,.exercise-document small{font-size:var(--doc-meta);color:var(--muted)}
.document-header{margin:0 0 var(--doc-space-4)}
.document-section{padding:0;margin:0 0 var(--doc-space-5);border:0;background:transparent;border-radius:0;box-shadow:none}
.exercise-document .reading-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 var(--doc-space-4)}
.exercise-document .reading-top>div{display:flex;gap:var(--doc-space-2)}
.exercise-document .reading-note{font-size:var(--doc-body);margin:0;line-height:1.85}
.exercise-document .detail-meta{margin-left:0}
.exercise-document .artifact-thumbnails{margin-top:var(--doc-space-3)}
.exercise-document .detail-practice-row{padding:var(--doc-space-1) 0}
.exercise-document .detail-practice-row h3{display:flex;align-items:baseline;gap:var(--doc-space-2);margin:0;font-size:var(--doc-body);font-weight:500;color:var(--ink)}
.exercise-document .detail-outcome{flex:none;background:transparent;padding:0;font-size:12px;border-radius:0}
.exercise-document .detail-reflection-entry,.exercise-document .detail-reflection-entry:first-of-type,.exercise-document .detail-reflection-entry:last-of-type{margin:0 0 var(--doc-space-4);padding:0 0 var(--doc-space-4);border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.exercise-document .detail-reflection-entry:last-of-type{border-bottom:0;padding-bottom:0;margin-bottom:0}
.exercise-document .detail-field{display:block;min-width:0;margin:0 0 var(--doc-space-3)}
.exercise-document .detail-what p{font-size:var(--doc-body);font-weight:500}
.exercise-document .detail-conclusion{display:block;margin:var(--doc-space-3) 0 0;padding:0;border:0;background:transparent}
.exercise-document .detail-conclusion p,.document-index .timeline-next p{font-size:var(--doc-body);font-weight:600}
.exercise-document .detail-conclusion>div+div{margin-top:var(--doc-space-2)}
.exercise-document .detail-conclusion small{display:block;margin-top:var(--doc-space-1)}
.exercise-document .detail-sharing{margin:var(--doc-space-4) 0 0;padding-top:var(--doc-space-3);border-color:var(--line)}
.document-editor{display:block}
.document-editor label{font-size:var(--doc-label);line-height:1.7}
.document-editor textarea,.document-editor select,.document-editor input{font-size:var(--doc-body);line-height:1.7}
.document-editor textarea{min-height:120px;width:100%}
.document-editor>.document-section>textarea{border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--paper);font-family:inherit;color:var(--ink)}
.document-editor .form-grid{gap:var(--doc-space-3)}
.document-editor .optional-fields{margin-top:var(--doc-space-3)}
.document-editor .upload-control{margin-top:var(--doc-space-3)}
.document-editor .upload-zone{margin-top:var(--doc-space-2)}
.editor-reflection{padding:0 0 var(--doc-space-4);margin:0 0 var(--doc-space-4);border-bottom:1px solid var(--line)}
.editor-reflection .insight-form{margin:0;padding:0;border:0;background:transparent;display:grid;gap:var(--doc-space-3)}
.editor-reflection .compact-fieldset{margin:0;padding:0;border:0}
.editor-reflection legend{font-size:var(--doc-label);margin-bottom:var(--doc-space-1)}
.editor-reflection .cause-disclosure,.editor-reflection .next-action-disclosure{margin:0;padding:0;border:0;background:transparent}
.editor-reflection .custom-cause{margin-top:var(--doc-space-2)}
.editor-reflection .form-hint{font-size:var(--doc-meta)}
.editor-action{display:grid;gap:var(--doc-space-2);margin-top:var(--doc-space-2)}
.editor-action+.editor-action{margin-top:var(--doc-space-3)}
.editor-next{margin:0}
.document-save{padding-top:var(--doc-space-3);border-top:1px solid var(--line);margin-top:var(--doc-space-4)}
.document-index{margin:0;padding:0;border:0;max-width:720px}
.document-index .document-index-entry{padding:0 0 var(--doc-space-4);margin:0 0 var(--doc-space-4);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}
.document-index .timeline-date{font-size:var(--doc-meta);line-height:1.7;color:var(--muted);font-weight:500;margin:0 0 var(--doc-space-1)}
.document-index h3{margin:0}
.document-index h3 a{color:var(--green)}
.document-index .page-metadata{margin:var(--doc-space-1) 0 0}
.document-index .timeline-memo,.document-index .timeline-insight,.document-index .timeline-legacy{margin-top:var(--doc-space-3)}
.document-index .timeline-next{margin-top:var(--doc-space-2)}
.document-index .timeline-memo p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.document-index .timeline-insight+.timeline-insight{margin-top:var(--doc-space-4)}
@media(max-width:760px){:root{--doc-title:24px;--doc-section:19px;--doc-item:16px;--doc-body:16px;--doc-space-5:40px}.document-header{margin-bottom:var(--doc-space-4)}.document-editor .form-grid{gap:var(--doc-space-2)}.exercise-document .detail-practice-row h3{gap:var(--doc-space-1)}.document-save .button{min-height:48px}.document-index .timeline-insight+.timeline-insight{margin-top:var(--doc-space-3)}}

.view-timeline .document-header .secondary-text{font-size:var(--doc-meta);color:var(--muted);margin:var(--doc-space-1) 0 0}
