/* v0.2 extends the existing paper / ink / cinnabar identity. */
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar>*{flex-shrink:0}
.sidebar .new-button{margin-bottom:var(--space-5)}
.sidebar-bottom{padding-top:var(--space-5)}
.chapter-date{display:block;color:var(--muted);font:400 var(--text-xs)/1.6 var(--font-body)}
.entry-date-field{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-3) 0 var(--space-6);font-size:var(--text-xs)}
.entry-date-field label span{color:var(--muted)}
.entry-date-field .control{width:auto;min-width:150px;max-width:100%}
.entry-date-field .back-button{font-size:var(--text-xs)}
#work-outline{min-height:160px;resize:vertical;line-height:1.7}
.check-field{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-5) 0;font-size:var(--text-sm);cursor:pointer}
.check-field input{width:18px;height:18px;flex-shrink:0;margin:3px 0;accent-color:var(--accent)}
.check-field small{display:block;color:var(--muted);font-size:var(--text-xs);margin-top:var(--space-2);line-height:1.6}
.source-list{margin-top:var(--space-5)}
.source-item{padding:var(--space-5) 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.source-item h3{font:500 var(--text-lg)/1.3 var(--font-display);margin-bottom:var(--space-2)}
.source-item p,.source-item details,.source-url{font-size:var(--text-sm)}
.source-item details{margin:var(--space-3) 0}
.source-item summary{cursor:pointer;min-height:32px;color:var(--muted)}
.source-item blockquote{margin:var(--space-2) 0;padding-left:var(--space-4);border-left:2px solid var(--line);white-space:pre-wrap}
.source-notes{white-space:pre-wrap;margin:var(--space-2) 0}
.source-url{display:inline;overflow-wrap:anywhere}
.source-url svg{vertical-align:middle;width:14px;height:14px}
.source-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}
#source-form textarea{min-height:110px;resize:vertical}
.auth-entry{min-height:100dvh;padding:clamp(24px,7vh,76px) 24px;display:grid;place-items:center}
.auth-card{width:100%;max-width:460px;margin:auto}
.auth-logo{margin-bottom:var(--space-4)}
.auth-logo img{object-fit:contain;object-position:left}
.auth-card>.eyebrow{font-size:var(--text-xs);margin-bottom:var(--space-8)}
.auth-card h1{font:500 clamp(30px,5vw,42px)/1.12 var(--font-display);letter-spacing:-.025em;margin-bottom:var(--space-4)}
.auth-intro{color:var(--muted);font-size:var(--text-sm);line-height:1.8}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:var(--space-6) 0}
.auth-tabs button{flex:1;min-height:48px;background:none;color:var(--muted);font-size:var(--text-sm);border-bottom:2px solid transparent}
.auth-tabs button.active{color:var(--ink);border-color:var(--accent);font-weight:700}
.auth-submit{width:100%;margin-top:var(--space-3)}
.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);margin:var(--space-4) 0}
.auth-links button{background:none;padding:var(--space-2) 0;min-height:44px;font-size:var(--text-xs);text-align:left;color:var(--muted)}
.auth-links button:hover{color:var(--accent);text-decoration:underline}
.auth-legal{font-size:var(--text-xs);line-height:1.9;margin-top:var(--space-5)}
.auth-signature{border-top:1px solid var(--line);padding-top:var(--space-5);margin-top:var(--space-6);font:500 var(--text-lg)/1.5 var(--font-display);color:var(--muted)}
.auth-message{background:var(--soft);border-left:2px solid var(--accent);padding:var(--space-4);font-size:var(--text-sm)}
#auth-dialog{width:540px;max-width:min(540px,calc(100vw - 32px))}
#auth-recovery{padding:var(--space-8)}
#auth-recovery .auth-card>.eyebrow{margin-bottom:var(--space-5)}
.recovery-downloads{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 var(--space-6)}
.genre-options{align-items:stretch}
.genre-option strong{overflow-wrap:anywhere}
@media(max-width:600px){
  .sidebar{padding-top:var(--space-5);max-height:100dvh}
  .sidebar .brand-caption{margin-bottom:var(--space-5)}
  .auth-entry{padding:32px 24px}
  #auth-recovery{padding:var(--space-5)}
  .entry-date-field{gap:var(--space-2)}
  .source-actions .button{flex:1}
  .auth-links{flex-direction:column}
}
@media(max-height:740px){
  .sidebar .brand-caption{margin-bottom:var(--space-4)}
  .sidebar .new-button{margin-bottom:var(--space-4)}
}
/* Narrow editors keep author and date controls at a comfortably readable width. */
@media(max-width:680px){.editor-aside{grid-template-columns:1fr}.editor-aside .notes-block,.editor-aside .chapter-block{grid-column:auto}}
.auth-message{border-left:0;border:1px solid var(--line)}
.account-password{border-block:1px solid var(--line);margin:var(--space-5) 0;padding:var(--space-3) 0}
.account-password summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.account-password summary::before{content:'+';margin-right:var(--space-3);color:var(--accent)}
.account-password[open] summary::before{content:'−'}
.account-password summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.account-password p{font-size:var(--text-sm);color:var(--muted);line-height:1.6}
#account-password-form{display:grid;gap:var(--space-2);min-width:0}
#account-password-form input{width:100%;min-width:0;min-height:44px}
#account-password-form label{font-size:var(--text-sm);margin-top:var(--space-2)}
#account-password-submit{margin-top:var(--space-3);min-height:44px}
#account-password-status{padding:var(--space-3);background:var(--soft);border:1px solid var(--line);line-height:1.6}
