/* Cinnabar Index: editorial archive, variance 8 / motion 3 / density 5.
   Shared source fonts. Original covers and PDF pages are never transformed. */
:root {
  --paper:#f8f7f5; --white:#fff; --ink:#20201e; --muted:#625e59;
  --accent:#c53828; --accent-soft:#fbede9; --line:#d9d5cf;
  --danger:#a12c23; --radius:4px;
  font-family:Manrope,ManropeFallback,StudySans,StudyFallback,'PingFang SC','Microsoft YaHei',sans-serif;
}
html {scroll-behavior:smooth}
body {background:var(--paper)}
button, input, select, textarea {font-family:inherit}
.button, .icon-button, label input, label select, label textarea, .avatar,
.paper-field, .paper-title-input, .dropzone, dialog, .toast {border-radius:4px}
.button.primary:hover {background:#a82d21; border-color:#a82d21}
.button {font-weight:700}
input::placeholder, textarea::placeholder {color:#716c66}
label input, label select, label textarea {background:#fff}
.skip-link {position:fixed;left:16px;top:8px;transform:translateY(-150%);padding:12px 20px;background:var(--ink);color:#fff;z-index:30}
.skip-link:focus {transform:translateY(0)}
.workspace {min-height:100dvh}
.sidebar {width:216px;inset:0 auto 0 0;padding:28px 18px 0;background:#fff;border-right:1px solid var(--line);box-shadow:none;backdrop-filter:none}
.sidebar .brand {margin:0 8px 38px;gap:12px}
.brand>span {font-size:27px;font-weight:900;letter-spacing:-1px}
.brand small {font-size:11px;letter-spacing:.1em;margin-top:6px}
.nav-section {margin-bottom:28px}
.nav-caption {font-size:11px;letter-spacing:.08em;padding-left:10px}
.nav-item {position:relative;border-radius:0;margin:4px 0;min-height:44px;font-weight:550;padding:11px 10px}
.nav-item.active {background:var(--accent-soft);color:var(--accent);font-weight:750}
.nav-item.active::before {content:'';position:absolute;left:-18px;top:0;bottom:0;width:3px;background:var(--accent)}
.nav-item:hover {background:var(--accent-soft)}
.nav-item>span:last-child {font-variant-numeric:tabular-nums;font-size:11px}
.sidebar-bottom {border-top:1px solid var(--line)}
.privacy {padding:20px 4px 24px;font-size:11px;line-height:1.7;gap:8px;align-items:flex-start}
.privacy small {font-size:10px;line-height:1.8}
.privacy svg {color:var(--accent);margin-top:2px}
.main-wrap {margin-left:216px}
.topbar {position:sticky;top:0;height:68px;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);z-index:8;backdrop-filter:none}
.breadcrumb {font-size:12px;gap:12px}
.topbar-right {gap:14px}
.private-tag {font-size:11px;color:var(--accent)}
.private-tag svg {display:none}
.account {display:flex;align-items:center;gap:8px;padding:0;margin:0;border:0}
.account b {font-size:12px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account .avatar {width:30px;height:30px;font-size:12px;border-radius:50%;background:var(--ink);color:white}
.account .icon-button {width:30px;height:34px;margin:0}
.account .icon-button svg {width:16px;height:16px}
.nav-scrim {position:fixed;inset:0;background:#20201e55;border:0;z-index:9}
.cinnabar-library main {max-width:1500px;padding:36px 36px 24px}
.page-heading h1 {font-weight:900;letter-spacing:-1.3px}
.library-hero {display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin:0 0 36px;padding:10px 0 28px;min-height:0;border-radius:0;border-bottom:2px solid var(--ink);background:none;box-shadow:none;isolation:auto}
.library-hero::before,.library-hero::after {display:none}
.hero-copy {max-width:none}
.library-hero h1 {font-size:clamp(40px,5vw,70px);font-weight:900;letter-spacing:-3px;line-height:1.15}
.library-hero h1 span {color:var(--accent);display:inline;margin-left:.02em}
.library-hero .subtitle {font-size:13px;line-height:1.8;margin:16px 0 0;max-width:none}
.library-summary {display:flex;gap:14px;align-items:center;padding:0;margin:0;border:0;min-width:auto;color:var(--muted);flex-shrink:0}
.library-summary strong {font-size:68px;font-weight:800;line-height:1;letter-spacing:-5px;color:var(--accent);font-variant-numeric:tabular-nums}
.library-summary div {display:flex;flex-direction:column;gap:7px}
.library-summary span {font-size:12px;align-self:flex-start}
.library-summary small {font-size:10px}
.collection-heading {gap:24px;margin:0 0 18px;scroll-margin-top:90px;align-items:center}
.collection-heading>div:first-child {flex-direction:row;align-items:baseline;gap:12px;flex-shrink:0}
.collection-heading h2 {font-size:21px;font-weight:850;letter-spacing:-.7px}
.result-count {font-size:11px;white-space:nowrap}
.collection-tools {gap:16px;min-width:0}
.search-box {border-radius:0;border-color:var(--line);min-width:220px;width:clamp(220px,25vw,360px);height:44px;padding:0 12px}
.search-box input {width:100%;min-width:0;font-size:12px;line-height:1.4;padding:12px 0;margin:0;border:0;border-radius:0;background:transparent}
.search-box kbd {border-radius:0;font-size:10px}
.search-box:focus-within {outline:2px solid var(--accent);outline-offset:2px}
.collection-tools select {font-size:12px;color:var(--ink);max-width:130px}
.filter-chips {margin:0 0 20px;gap:8px}
.chip {border-radius:0;font-size:11px;padding:8px 14px;min-height:36px}
.chip.active {background:var(--ink);color:#fff;border-color:var(--ink);font-weight:650}
.chip:hover {background:var(--accent-soft);color:var(--accent)}
.chip.active:hover {background:var(--ink);color:white}
.material-grid {display:block;border-top:1px solid var(--line);padding:0}
.material-card,.material-card:first-child {position:relative;display:grid;grid-template-columns:66px minmax(190px,30%) minmax(0,1fr);align-items:center;gap:24px;padding:30px 0;margin:0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;overflow:visible;transform:none}
.entry-date {align-self:start;display:flex;flex-direction:column;gap:9px;margin-top:5px;font-variant-numeric:tabular-nums}
.entry-date span {font-size:10px;color:var(--muted);letter-spacing:.1em}
.entry-date b {font-size:23px;font-weight:800;line-height:1;color:var(--accent);letter-spacing:-1px}
.entry-date.undated b {font-size:14px;letter-spacing:0}
.card-cover,.card-cover.has-cover {display:block;align-self:center;aspect-ratio:auto;height:auto;border:0;border-radius:0;background:#fff;overflow:hidden;box-shadow:0 0 0 1px #20201e0d;transform:none}
.card-cover img,.card-cover.has-cover img {display:block;width:100%;height:auto;object-fit:contain;transform:none}
.card-cover:hover,.card-cover:hover img {transform:none}
.card-cover:focus-visible {outline-offset:5px}
.card-cover:not(.has-cover) {aspect-ratio:16/10}
.cover-placeholder {padding:20px;gap:14px;background:#f0eeeb;color:var(--ink);border-radius:0}
.cover-placeholder b {font-size:17px;font-weight:800}
.cover-placeholder svg {color:var(--accent)}
.card-body {padding:0;min-width:0}
.card-top {gap:12px;margin-bottom:10px;font-size:11px;min-height:24px}
.topic-label {font-size:11px;font-weight:750;letter-spacing:.02em;color:var(--accent)}
.mobile-date {display:none;color:var(--muted);font-size:11px}
.entry-edit {margin-left:auto;padding:4px;min-height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4px;color:var(--muted)}
.entry-edit svg {width:17px;height:17px}
.entry-edit:hover {color:var(--accent);background:var(--accent-soft)}
.card-body h3 {font-size:clamp(19px,1.7vw,26px);line-height:1.45;letter-spacing:-.65px;font-weight:850;overflow-wrap:anywhere}
.card-body>p {font-size:12px;line-height:1.9;color:var(--muted);margin-top:10px;max-width:72ch}
.resource-meta {font-size:10px;color:var(--muted);margin-top:10px}
.card-actions {display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:11px;margin-top:20px;flex-wrap:wrap;color:var(--ink)}
.card-actions a,.card-actions button {font-size:11px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:38px;line-height:1.3}
.card-actions svg {width:16px;height:16px}
.card-actions .entry-primary {background:var(--accent);color:#fff;border:1px solid var(--accent);padding:9px 12px;border-radius:3px;font-weight:700}
.card-actions .entry-primary:hover {background:#a82d21;border-color:#a82d21}
.secondary-actions {display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.card-actions .secondary-actions a,.card-actions .secondary-actions button {color:var(--ink);padding:8px 0;background:transparent;border:0}
.card-actions .secondary-actions a:hover,.card-actions .secondary-actions button:hover {color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.page-footer {font-size:10px;margin-top:26px;color:var(--muted)}
.loading-skeleton {height:214px;margin:24px 0;border-radius:0;background:linear-gradient(90deg,#eae7e2 0 31%,transparent 31% 35%,#eeeae6 35% 100%)}
.loading-skeleton::after {height:14px;width:38%;margin-left:38%;background:#ded9d3}
.empty {padding:48px 0}
.empty .button {margin-top:20px}
.has-library-motion .material-card.is-visible {animation:entry-arrive .35s ease-out both}
@keyframes entry-arrive {from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
.admin-note {background:var(--accent-soft);border-radius:4px}
.section-title {font-size:19px;font-weight:800}
.management-row {padding:22px 0}
.records-table th {background:var(--accent-soft)}
dialog::backdrop {background:#20201e70;backdrop-filter:none}
.dropzone {border-color:var(--accent);background:var(--accent-soft)}
.dialog-heading h2 {font-weight:800}
.preview-dialog iframe {background:#fff}
.login-shell {display:grid;grid-template-columns:1.1fr 1fr;gap:0;padding:0;min-height:100dvh}
.login-story {position:relative;background:#fff;border-right:1px solid var(--line);border-radius:0;padding:42px 5vw;overflow:hidden}
.login-story::before,.login-story::after {display:none}
.login-story .brand {margin:0}
.login-copy {position:relative;max-width:580px;margin:auto 0;padding:42px 0}
.login-copy h1 {font-size:clamp(32px,3.4vw,52px);line-height:1.25;font-weight:900;letter-spacing:-2px;max-width:13ch;color:var(--accent)}
.login-copy>p {font-size:13px;line-height:1.8;margin:20px 0 28px}
.login-cover {width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none;border-radius:0;box-shadow:0 0 0 1px var(--line);background:#fff}
.login-caption {font-size:11px!important;margin:12px 0 0!important}
.login-form-wrap {padding:60px 6vw;background:var(--paper);border:0;border-radius:0;backdrop-filter:none}
.login-form-inner h2 {font-size:28px;font-weight:850}
.login-submit {height:48px}
.back-home {color:var(--accent);font-weight:650}
/* Reading: left comments, original white document, collapsible on every size. */
.paper-reader {--desk:#eceae7;--reader-rule:#20201e1c;background:var(--desk)}
.reader-header {height:60px;padding:0 20px;gap:20px;background:#fff;border-bottom:1px solid var(--line)}
.reader-brand {font-weight:900;letter-spacing:-.7px}
.reader-back {color:var(--accent);font-weight:650}
.reader-breadcrumb h1 {font-size:12px}
.reader-account {color:var(--ink);font-size:11px}
.reader-workspace {height:calc(100dvh - 60px);padding:0;margin:0;max-width:none;background:var(--desk);isolation:isolate}
.reader-toolbar {min-height:56px;padding:8px 16px;gap:10px;background:#fff;border-bottom:1px solid var(--line)}
.paper-reader select,.paper-reader input[type=number],.reader-tool {border-radius:3px}
.reader-tool {font-size:12px}
.page-viewport {padding:24px 32px}
.pdf-stage {background:#fff;box-shadow:0 0 0 1px var(--reader-rule),0 3px 12px #20201e0c}
.textLayer ::selection {background:#c5382840}
.reader-footer {background:#fff;border-top:1px solid var(--line)}
.personal-notes {order:-1;position:static;width:clamp(280px,24vw,332px);max-width:none;border-left:0;border-right:1px solid var(--line);background:#f8f5f1;border-radius:0;box-shadow:none}
.notes-heading {padding:20px 18px 14px;border-bottom:1px solid var(--line);margin-bottom:8px}
.notes-heading h2 {font-size:20px;font-weight:850;letter-spacing:-.7px}
.notes-heading p {font-size:10px;margin-top:8px}
.notes-filter {padding:0 14px 12px}
.note-list {padding:0 18px 24px 28px;position:relative}
.saved-note {padding:18px 0 16px 14px;margin:0;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;scroll-margin:18px}
.saved-note.active {background:var(--accent-soft);box-shadow:none;border-left:2px solid var(--accent);padding-left:13px}
.note-meta {gap:8px;margin-bottom:12px}
.note-avatar {width:26px;height:26px;border-radius:50%;font-size:11px;position:relative;margin-left:-28px;background:#fff;box-shadow:0 0 0 1px var(--line);color:var(--accent)}
.note-author b {font-size:11px}.note-author small {font-size:9px;line-height:1.4}
.note-anchor {font-size:10px;background:transparent;border-radius:0;color:var(--accent)}
.note-excerpt {font-size:12px;line-height:1.7;margin-bottom:12px;color:var(--muted);padding-left:10px}
.saved-note>p {font-size:13px;line-height:1.9}
.saved-note-actions {margin-top:10px}
.saved-note-actions button {font-size:11px;min-height:36px}
.selection-menu {background:var(--ink);border-radius:4px;box-shadow:0 4px 16px #20201e20}
.selection-action {border-radius:3px;font-size:12px}
.paper-reader .note-composer {border-radius:6px;box-shadow:0 0 0 1px var(--line),0 12px 36px #20201e26}
.note-composer blockquote {background:var(--accent-soft);border-left-color:var(--accent);font-size:12px}
.paper-reader .note-composer textarea {border-radius:4px;border-color:var(--line);background:#fff}
.note-composer::backdrop {background:#20201e08}
.reader-more-menu {border-radius:4px}
.reader-load-progress {background:var(--accent-soft)}
.reader-load-fill {background:var(--accent)}
.notes-scrim {display:none;position:absolute;inset:0;z-index:3;background:#20201e45;border:0;padding:0}
@media(min-width:1600px) {.cinnabar-library main{padding:42px 48px 28px}.material-card{gap:32px;grid-template-columns:76px minmax(240px,30%) minmax(0,1fr)}.card-body h3{font-size:27px}.page-viewport{padding:28px 48px}}
@media(max-width:1279px) {.sidebar{width:190px;padding-inline:14px}.nav-item.active::before{left:-14px}.main-wrap{margin-left:190px}.topbar{padding-inline:24px}.cinnabar-library main{padding:30px 24px}.material-card{gap:18px;grid-template-columns:58px minmax(168px,29%) minmax(0,1fr)}.entry-date b{font-size:21px}.card-body h3{font-size:21px}.private-tag{display:flex}.collection-tools{gap:10px}.search-box{width:240px;min-width:0}.library-hero h1{font-size:54px}.library-summary strong{font-size:56px}.secondary-actions{gap:12px}}
@media(max-width:1023px) {.sidebar{width:176px}.main-wrap{margin-left:176px}.sidebar .brand{margin-inline:0}.brand>span{font-size:24px}.topbar{padding-inline:20px}.topbar-right{gap:8px}.private-tag{display:none}.cinnabar-library main{padding:28px 20px}.collection-heading{flex-wrap:wrap;gap:16px}.collection-tools{flex:1;min-width:290px}.search-box{width:auto;flex:1}.material-card{grid-template-columns:minmax(150px,31%) minmax(0,1fr);gap:20px;padding:26px 0}.entry-date{display:none}.mobile-date{display:block}.library-hero{gap:18px}.library-hero h1{font-size:46px}.library-summary strong{font-size:46px}.card-body h3{font-size:20px}}
@media(max-width:900px) {.personal-notes{position:absolute;inset:auto 0 0;order:0;width:100%;max-width:none;height:min(68dvh,540px);z-index:4;border:0;border-top:2px solid var(--accent);border-radius:8px 8px 0 0;box-shadow:0 -8px 32px #20201e18}.notes-scrim{display:block}.notes-heading{padding:14px 18px 10px}.notes-heading h2{font-size:18px}.notes-heading p{margin-top:4px}.note-list{padding-inline:26px}.notes-filter{padding-inline:18px}.reader-toolbar{padding-inline:12px}.reader-account{display:none}.reader-header{padding-inline:16px}.reader-breadcrumb>span{display:none}.page-viewport{padding:20px}}
@media(max-width:767px) {.sidebar{width:250px;inset:0 auto 0 0;padding:28px 20px 0;transform:translateX(-100%);border-radius:0;background:#fff;box-shadow:none;transition:transform .18s}.sidebar.open{transform:translateX(0)}.nav-item.active::before{left:-20px}.main-wrap{margin-left:0}.topbar{height:60px;padding:0 14px}.mobile-menu{display:inline-flex}.topbar-right{gap:6px}.topbar-right .button.small{padding:8px 10px;min-height:36px;font-size:11px}.account{gap:5px}.account b{max-width:75px;font-size:11px}.account .avatar{width:26px;height:26px;font-size:10px}.account .icon-button{width:26px}.cinnabar-library main{padding:22px 18px}.library-hero{margin-bottom:24px;padding:10px 0 22px;align-items:flex-start;gap:12px;min-height:0}.library-hero h1{font-size:clamp(35px,8.4vw,48px);letter-spacing:-2px;white-space:nowrap}.library-hero .subtitle{font-size:11px;max-width:25ch;margin-top:12px}.library-summary{gap:8px;align-self:center}.library-summary strong{font-size:38px;letter-spacing:-2px}.library-summary div{gap:5px}.library-summary span{font-size:10px}.library-summary small{font-size:9px}.collection-heading{flex-direction:column;align-items:stretch;gap:16px;scroll-margin-top:80px;margin-bottom:12px}.collection-heading>div:first-child{flex-direction:row;gap:12px}.collection-heading h2{font-size:20px}.collection-tools{width:100%;min-width:0;gap:12px}.search-box{flex:1;min-width:0;width:auto;height:42px}.search-box input{font-size:11px}.search-box kbd{display:none}.collection-tools select{max-width:105px;font-size:11px}.filter-chips{margin-bottom:16px;gap:4px}.chip{font-size:11px;padding:8px 12px}.material-card,.material-card:first-child{grid-template-columns:1fr;gap:18px;padding:24px 0;margin:0}.card-cover{width:100%;max-width:none}.card-body h3{font-size:23px;line-height:1.5;letter-spacing:-.6px}.card-body>p{font-size:12px;line-height:1.85}.card-top{margin-bottom:8px}.card-actions{gap:12px;margin-top:18px}.card-actions a,.card-actions button{min-height:42px;font-size:12px}.card-actions .entry-primary{padding:10px 12px}.secondary-actions{gap:16px}.page-footer{gap:8px;margin-top:24px;font-size:10px}.page-heading:not(.library-hero) h1{font-size:29px}.login-shell{grid-template-columns:1fr;padding:0;gap:0}.login-story{padding:24px;border-bottom:1px solid var(--line);border-right:0}.login-copy{padding:26px 0 0}.login-copy h1{font-size:31px;max-width:none;letter-spacing:-1px}.login-copy>p{font-size:12px;margin:14px 0 0}.login-cover,.login-caption{display:none}.login-form-wrap{padding:32px 24px 24px}.back-home{margin:22px 0 0}.login-form-inner h2{font-size:25px}.form-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px) {.reader-header{height:52px;gap:12px;padding-inline:12px}.reader-workspace{height:calc(100dvh - 52px)}.reader-brand{font-size:18px}.reader-back{font-size:11px}.reader-toolbar{padding:4px 8px;gap:4px}.paper-reader #paper-select{flex:1 0 100%;width:100%;max-width:none;min-height:40px;font-size:11px}.page-viewport{padding:16px 12px}.personal-notes{inset:auto 0 0;height:min(70dvh,520px);width:100%;max-width:none}.reader-footer{padding-inline:12px}.note-list{padding-bottom:18px}}
@media(max-width:380px) {.account b{display:none}.library-summary div{display:none}.library-hero h1{font-size:35px}.card-body h3{font-size:21px}.secondary-actions{gap:12px}.card-actions{gap:8px}.card-actions a,.card-actions button{font-size:11px}.form-row{grid-template-columns:1fr}.reader-toolbar{gap:2px}#zoom{width:70px}}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}.material-card{animation:none!important;transform:none!important}.sidebar{transition:none}}
@media(forced-colors:active) {.entry-primary,.chip.active{border:1px solid ButtonText}.nav-item.active::before{background:Highlight}.saved-note.active{outline:1px solid Highlight}}

@media(max-width:767px){.login-form-inner input,.editor-form input,.editor-form textarea,.record-tools input,.search-box input{font-size:16px}.search-box input::placeholder{font-size:11px}.paper-reader .note-composer textarea{font-size:16px}}

@media(min-width:768px){.nav-scrim{display:none}}

/* Publication state shares the archive's paper, ink and cinnabar palette. */
.publication-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.publication-badge{display:inline-flex;padding:3px 8px;background:#eee8df;border:1px solid #c8beb0;color:#75695b;font-size:12px;font-weight:700;white-space:nowrap}
#visibility-dialog{max-width:580px}
#visibility-dialog .publication-name{font-weight:750;font-size:20px;line-height:1.5;margin:0 0 16px}
#visibility-dialog .help{font-size:14px;line-height:1.8}
#visibility-status{color:var(--accent);font-size:14px}
.management-row>div:first-child{min-width:0}
.management-row .row-actions{flex-wrap:wrap}

.draft-trash{margin-top:36px;border-top:1px solid #c8beb0;padding-top:22px}
.draft-trash summary{font-weight:750;cursor:pointer;font-size:17px}
.draft-trash summary span{margin-left:8px;color:#75695b;font-size:13px}

.backup-health{display:flex;flex-direction:column;gap:6px;padding:14px 16px;margin:0 0 18px;border:1px solid #d8cec0;background:#fffdf8;font-size:13px;color:#7e7469}.backup-health[hidden]{display:none}.backup-health strong{color:#24221f}.backup-health.backup-warning{border-left:3px solid #cf3525}.backup-health.backup-warning strong{color:#b42c1f}
