.project-workspace { width: min(1560px, 96vw); max-width: none; }
.project-workspace > header p { color: var(--fg-muted); font-size: .92rem; }
.project-shelf { border: 1px solid var(--border); border-radius: 5px; padding: 1rem; margin-bottom: 1.4rem; }
.project-shelf summary { cursor: pointer; font-weight: 600; }
.project-shelf .editor-tools { margin: 1rem 0; }
.project-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .7rem; }
.project-list button { text-align: left; padding: .8rem; min-height: 65px; overflow-wrap: anywhere; }
.project-list button[aria-current] { border-color: var(--accent); background: #13262d; }
.project-list small { display: block; color: var(--fg-muted); margin-top: .35rem; font-size: .7rem; }
.project-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.project-title { display: block; font: .75rem var(--font-mono); color: var(--fg-muted); flex: 1; min-width: 200px; }
.project-title input { display: block; font: 400 1.5rem var(--font-serif); width: 100%; color: var(--fg); background: transparent; border: 0; border-bottom: 1px solid var(--border); padding: .5rem 0; }
.project-attachment { margin: 1rem 0; display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; font-size: .8rem; }
.project-attachment select { max-width: 100%; background: var(--bg-elevated); color: var(--fg); border: 1px solid var(--border); padding: .5rem; border-radius: 4px; }
.project-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.7rem; }
.project-body.with-article { grid-template-columns: minmax(290px, .85fr) minmax(0, 1.4fr); }
.project-reading { min-width: 0; max-height: 85vh; overflow: auto; padding: 1.3rem; border: 1px solid var(--border); background: var(--bg-elevated); border-radius: 5px; }
.project-reading[hidden] { display: none; }
.project-reading h2 { font: 400 1.7rem/1.3 var(--font-serif); margin: .5rem 0 1.5rem; }
.project-reading .article__body { font-size: .93rem; }
.project-reading img, .project-reading svg { max-width: 100%; }
.project-writing { min-width: 0; }
.project-files { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: .8rem; }
.project-files button[aria-current] { border-color: var(--accent); color: var(--accent); }
.project-file-tools { display: flex; justify-content: space-between; gap: .7rem; align-items: center; flex-wrap: wrap; }
.project-file-tools span { font: .7rem var(--font-mono); color: var(--fg-muted); }
.project-writing .editor-container:not(.is-focused) { margin-top: .8rem; }
.project-empty { padding: 2rem; text-align: center; border: 1px dashed var(--border); }
.project-status { color: var(--fg-muted); font-size: .8rem; min-height: 1.4em; }
.project-error { color: #ffbd8e; }
.project-account { margin-bottom: 1rem; color: var(--fg-muted); font-size: .82rem; }
.project-workspace [hidden] { display: none !important; }
@media (max-width: 900px) {
  .project-body.with-article { grid-template-columns: minmax(0, 1fr); }
  .project-reading { max-height: 45vh; }
}
@media (max-width: 620px) {
  .project-workspace { width: 94vw; }
  .project-title { min-width: 100%; }
  .project-attachment select { width: 100%; }
  .project-files button, .project-file-tools button, .editor-toolbar button { min-height: 44px; }
}
