/* Presentation-only skin. Excerpt templates keep their isolated styles. */
.primary,.primary:hover{background:var(--button-face);color:var(--text-primary)}
.sidebar{position:relative;inset:auto;width:100%;padding:24px 5% 18px;border:0;background:var(--bg-main);display:grid;grid-template-columns:200px minmax(0,1fr) 150px;align-items:center;gap:25px}
.brand{margin:0;font-size:13px;font-weight:normal;gap:13px;color:var(--text-primary)}.brand>svg{width:30px;height:34px;color:var(--primary-pink)}.brand small{font-size:13px;margin-top:8px;color:var(--text-secondary)}
.nav-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:8px;justify-content:center}
.sidebar nav button{font-size:16px;gap:8px;padding:10px 12px;border:1px solid transparent;min-height:44px;border-radius:12px;white-space:nowrap}
.sidebar nav button:hover{background:var(--bg-hover)}.sidebar nav button.active{background:var(--bg-selected);border:1px solid var(--border-paper);box-shadow:var(--shadow-float);text-shadow:0 0 8px var(--glow-pink)}
.nav-dot{display:none}.sidebar nav #fav-count{font:italic 11px var(--font-serif-en);margin-left:0}
.passport-link{border:0;margin:0;padding:8px;gap:10px;font-size:15px;color:var(--text-body)}.passport-link small{font-size:12px}.passport-link>svg:last-child{width:14px}
.workspace{margin-left:0;min-height:calc(100vh - 100px)}
.topbar{height:56px;min-height:56px;padding:0 5%;border:0;position:relative;font-size:13px}.topbar:after{content:"";position:absolute;height:1px;bottom:0;left:5%;right:5%;background:linear-gradient(90deg,transparent,var(--secondary-pink),transparent)}
.topbar>div{gap:12px}.topbar button{font-size:14px}.local-badge{font-size:12px;color:var(--text-secondary)}
.theme-switch{height:38px;width:38px;border-color:var(--border-paper);background:var(--bg-paper-inner);box-shadow:var(--shadow-float);color:var(--text-accent)}
main{max-width:1280px;padding:42px 40px 48px}.page-heading{margin-bottom:28px;align-items:center}.page-heading .eyebrow{margin-bottom:13px}.page-heading p{font-size:17px;color:var(--text-secondary)}
.stats-strip{position:relative;margin:28px 0 40px;border:1px solid var(--border-double);border-radius:8px;background:var(--bg-card);padding:28px 30px;box-shadow:var(--shadow-card);gap:16px}
.stats-strip:before{content:"";position:absolute;inset:9px;border:1px solid var(--border-paper);border-radius:8px;pointer-events:none}
.stat,.stat:first-child{padding:0 24px;border:0}.stat+.stat{border-left:1px solid var(--secondary-pink)}.stat strong{font:italic 30px var(--font-serif-en);color:var(--text-primary);margin-bottom:10px}.stat small{font-size:15px;color:var(--text-secondary)}
.section-title h2{font-size:24px}.section-title>small{font:italic 12px var(--font-serif-en);color:var(--text-secondary)}
.shelf-layout{grid-template-columns:minmax(0,1fr) 250px;gap:32px;align-items:start}
.shelf-stage{background:var(--bg-card);border:1px solid var(--border-double);border-radius:8px;box-shadow:var(--shadow-card);padding:38px 40px 28px;min-height:360px;gap:23px;scroll-padding:30px}
.shelf-stage:after{inset:10px;border:1px solid var(--border-paper);border-radius:8px;height:auto;background:none;pointer-events:none}
.book,.book:hover,.book.selected{background:var(--book-face);color:var(--text-primary);border:1px solid var(--book-edge);box-shadow:inset 4px 0 6px rgba(217,170,183,.2),6px 8px 14px rgba(120,92,103,.10);height:253px;z-index:1}
.book.book-1,.book.book-1:hover{background:var(--book-face-alt);height:265px}.book:nth-of-type(4n),.book:nth-of-type(4n):hover{background:var(--book-face-cream)}
.book.passport,.book.passport:hover{background:var(--book-face-pearl);border-color:var(--book-edge);width:84px;height:283px;margin-right:10px}.book:before{border:1px solid var(--border-double);inset:9px 6px}.book.passport:before{border-color:var(--book-edge)}
.book>span{font-size:20px;white-space:nowrap;margin-top:31px;line-height:1.5}.book.passport>span{font-size:14px;white-space:nowrap;margin-top:20px}.book>small{font:italic 9px var(--font-serif-en);margin-bottom:20px;color:var(--text-secondary)}.book .book-star{fill:var(--text-accent);opacity:.6}
.shelf-caption{padding:0 10px;font-size:12px;color:var(--text-secondary)}.shelf-caption span:first-child{font-size:12px}
.month-detail{border:0;padding:25px 0 0 8px}.month-detail h2{font-size:29px;margin-bottom:10px}.month-detail dl{font-size:16px;gap:18px;margin:25px 0}.month-detail dt{color:var(--text-secondary)}.month-detail .primary{margin-top:20px}
.recent-section{border:0;margin-top:37px;padding-top:0}.quote-grid{gap:24px}
.quote-item{position:relative;padding:28px;background:var(--bg-card);border:1px solid var(--border-double);border-radius:8px;box-shadow:var(--shadow-card)}
.quote-item:before{content:"";position:absolute;inset:9px;border:1px solid var(--border-paper);border-radius:8px;pointer-events:none}
.quote-item .eyebrow{display:flex;gap:8px;align-items:center;font-size:12px;margin-bottom:20px}.quote-item .eyebrow svg{width:14px;height:14px;color:var(--primary-pink)}
.quote-item .quote-text{font-size:19px;line-height:1.95;max-height:215px;color:var(--text-body);padding-left:17px;border-left:2px solid var(--secondary-pink)}
.quote-item .quote-meta{border:0;margin-top:22px;padding-top:0;display:flex;flex-direction:column;gap:12px}.quote-item .quote-meta .actions{justify-content:center}
.quote-item .thought{font-size:16px;line-height:1.9;border-color:var(--border-paper);color:var(--text-body)}
.timestamp{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;color:var(--text-muted);font-size:12px;line-height:1.6}
.timestamp:before{content:"✧ Timestamp ✧";font:italic 12px var(--font-serif-en);color:var(--text-muted)}.timestamp time{font-size:12px}.timestamp .timestamp-author{font-size:13px;color:var(--text-secondary)}
.toolbar{gap:14px;margin:26px 0}.toolbar input{max-width:330px}.toolbar>small{color:var(--text-secondary);font-size:14px}
.archive-layout{gap:46px}.step{border-bottom:1px solid var(--border-paper);padding:28px 0}.step-title{font-size:21px;gap:13px}.step-index{width:28px;height:28px;font:italic 12px var(--font-serif-en);border-color:var(--secondary-pink);color:var(--text-accent)}
.file-row{border:1px solid var(--border-paper);border-radius:8px;font-size:15px;background:var(--bg-paper-inner);padding:16px}.archive-result{border:0;padding-top:6px}.archive-result h3{font-size:24px;line-height:1.6}
.hash-block{background:var(--bg-paper-inner);border:1px solid var(--border-paper);border-radius:8px;box-shadow:var(--shadow-inset)}.warning{background:var(--bg-card);color:var(--text-body);border-color:var(--secondary-pink);font-size:15px;line-height:1.9}
.dropzone{background:var(--bg-card);border-color:var(--primary-pink);border-radius:8px;font-size:17px;padding:36px 20px}.dropzone small{font-size:13px}.external-link{display:inline-flex;gap:8px;align-items:center;font-family:var(--font-serif-en);font-style:italic}
.passport-entry{padding:28px 8px;border-bottom:1px solid var(--border-paper)}.passport-entry .passport-meta{font-size:15px}.passport-entry .hash-label{font-size:14px;color:var(--text-secondary)}
.studio-controls{border-color:var(--border-paper);padding-right:30px}.studio-controls label{font-size:16px}.studio-preview{padding:24px;background:var(--bg-card);border:1px solid var(--border-paper);border-radius:8px;box-shadow:var(--shadow-card);overflow:hidden}.studio-preview>.actions{font:italic 11px var(--font-serif-en);color:var(--text-secondary)}
.pagination,.reader-pager{font-family:var(--font-serif-en);color:var(--text-secondary)}footer{padding:24px 5%;border:0;color:var(--text-muted);font:italic 10px var(--font-serif-en)}footer span{font-size:15px;color:var(--text-secondary)}
.unlock-form{padding:35px 28px;border:1px solid var(--border-paper);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow-card);max-width:420px}.unlock-mark{margin-bottom:24px;box-shadow:var(--shadow-float);border-color:var(--border-double)}.unlock-caption{font-size:20px}.unlock-form h1{font-size:32px}.unlock-form label{font-size:16px}

/* Month reader and star collection share a book frontispiece. */
.volume-front{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;align-items:center;margin:4px 0 30px;padding:20px 0 24px;border-bottom:1px solid var(--border-paper)}
.volume-cover{height:158px;border-radius:8px;overflow:hidden;position:relative;background:var(--book-face);border:1px solid var(--book-edge);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center}
.volume-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(249,236,239,.25),rgba(249,236,239,.55)),url('/assets/bookroom.jpg') center/cover;opacity:.43}
.volume-cover>svg{position:relative;width:30px;height:30px;color:var(--text-primary)}.volume-cover>span{position:absolute;bottom:0;left:0;right:0;padding:10px 4px;background:var(--bg-card);font:13px var(--font-serif-en);text-align:center;color:var(--text-primary)}
.volume-front h1{font-size:29px;line-height:1.6;margin-bottom:12px}.volume-front .front-label,.volume-front .book-bracket{color:var(--text-secondary);font-size:22px;text-shadow:none}
.volume-metadata{display:flex;flex-wrap:wrap;gap:6px 13px;color:var(--text-secondary);font-size:15px;line-height:1.8}.volume-front .front-quote{color:var(--primary-pink);font:italic 15px/1.8 var(--font-serif-en);margin:12px 0 0}
.reader-header{margin-bottom:10px}.reader-header h1{font-size:20px;text-shadow:none;color:var(--text-secondary)}.reader-filter input,.reader-filter select{font-size:15px}
.reader-layout{grid-template-columns:minmax(0,1fr) 200px;gap:30px}
.reader-surface,.reader-surface.paper,.reader-surface.letter,.reader-surface.timeline{position:relative;background:var(--bg-card);background-image:none;border:1px solid var(--border-double);border-radius:8px;padding:28px 30px;box-shadow:var(--shadow-card);color:var(--text-body)}
.reader-surface:before{content:"";position:absolute;inset:9px;border:1px solid var(--border-paper);border-radius:8px;pointer-events:none}
.reader-surface.letter{background:var(--night-paper);color:var(--night-text);--text-body:var(--night-text);--text-primary:#EDE3E6;--text-secondary:#A6969B;--text-muted:#9C858F;--secondary-pink:#61414F;--bg-paper-inner:#30252C;--border-paper:#5F4651;--quote-face:#35282F;--porcelain:#35282F;--code-face:#30242C;--hidden-face:#30242C}
.reader-entry{position:relative;border-bottom:1px solid var(--border-paper);padding:23px 0;scroll-margin-top:25px}.reader-entry:last-child{border-bottom:0}
.reader-entry .entry-meta{color:var(--text-secondary);font-size:13px;margin-bottom:16px;justify-content:flex-start;gap:8px;flex-wrap:wrap}
.reader-entry .entry-text,.reader-surface.double .entry-text,.reader-surface.letter .entry-text{border-left:2px solid var(--secondary-pink);padding-left:20px;margin-top:0;font-size:19px;line-height:1.95;color:var(--text-body)}
.reader-entry .entry-actions{gap:8px;justify-content:center;margin-top:15px}.reader-entry .entry-actions button{font-size:14px;color:var(--text-secondary);padding:7px 10px}.reader-entry>.timestamp{margin-top:22px}
.reader-entry .inline-note{padding:16px 18px;font-size:16px;background:var(--bg-paper-inner);color:var(--text-body);border:1px dashed var(--primary-pink);border-radius:8px;margin:20px 0 0;white-space:normal}.inline-note .timestamp{margin-top:12px}.inline-note>.icon{float:right}
.reader-entry.focused{outline:1px solid var(--primary-pink);outline-offset:7px;background:var(--bg-hover)}.reader-rail{border-color:var(--secondary-pink);padding-left:17px}.reader-rail h3{font-size:16px;color:var(--text-secondary)}
.ribbon{border-color:var(--border-paper);font-size:16px;padding:12px 8px;color:var(--text-body);line-height:1.85}.ribbon:hover{background:var(--bg-hover)}.reader-surface.timeline .reader-entry{border-left:0;margin:0;padding:20px 0}
.reader-surface.double{gap:0 32px}.reader-surface.double .entry-text{font-size:18px}
.segmented{background:var(--bg-card);border:1px solid var(--border-paper);padding:4px;border-radius:999px;gap:3px}.segmented button{border-radius:999px;font-size:15px;padding:8px 13px;color:var(--text-secondary)}.segmented button.active{background:var(--bg-selected);color:var(--text-primary);box-shadow:var(--shadow-float)}.reader-pager{border:0}.reader-pager small{font-size:14px}

@media(max-width:1150px){
  .sidebar{grid-template-columns:180px 1fr;gap:15px;padding:22px 4% 12px}.sidebar nav{justify-content:flex-end;gap:3px}.sidebar nav button{padding:10px;font-size:15px}.passport-link{display:none}.topbar{padding:0 4%}.shelf-layout{grid-template-columns:minmax(0,1fr) 220px;gap:25px}main{padding:34px 30px}.shelf-stage{padding:35px 28px 27px;gap:19px}
}
@media(max-width:900px) and (min-width:761px){
  .sidebar{grid-template-columns:1fr;gap:18px}.sidebar .brand{justify-content:center}.sidebar nav{justify-content:center}.reader-layout{grid-template-columns:minmax(0,1fr) 160px;gap:18px}.reader-surface{padding:24px}.stat,.stat:first-child{padding:0 12px}
}
@media(max-width:760px){
  .sidebar{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:22px 16px 12px;position:relative;width:100%;border:0}.brand{justify-content:center;min-height:36px;margin:0}.brand small{display:block;margin:6px 0 0;font-size:12px}.brand>svg{width:27px;height:32px}
  .sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.sidebar nav button{white-space:nowrap;flex-direction:column;font-size:13px;min-height:65px;padding:8px 0;gap:7px;border-radius:8px}.sidebar nav svg{width:18px;height:18px}.sidebar nav #fav-count{display:none}
  .topbar{padding:6px 16px;min-height:56px;gap:5px}.topbar #import-button{font-size:14px;padding:8px 5px}.topbar>div{gap:3px}.topbar #lock-button{width:36px;min-width:36px}.theme-switch{min-width:38px;min-height:38px}#breadcrumb{font-size:12px}.topbar:after{left:16px;right:16px}
  main{padding:28px 16px 36px}.page-heading{gap:20px;margin-bottom:24px}.page-heading h1{font-size:30px}.page-heading p{font-size:17px}.page-heading .primary{font-size:16px;padding:11px 20px}.eyebrow{font-size:10px}
  .stats-strip{padding:26px 21px;gap:24px 8px;margin:24px 0 30px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat,.stat:first-child{border:0;padding:0 8px;min-width:0}.stat:nth-child(even){border-left:1px solid var(--secondary-pink)}.stat strong{font-size:27px}.stat small{font-size:15px}
  .section-title h2{font-size:23px}.section-title{gap:12px}.section-title>small{font-size:11px}.shelf-layout{grid-template-columns:minmax(0,1fr);gap:12px}.shelf-stage{min-height:335px;padding:32px 22px 25px;gap:19px;margin-bottom:16px}
  .book,.book:hover,.book.selected{height:235px}.book.book-1,.book.book-1:hover{height:245px}.book.passport,.book.passport:hover{height:265px;flex-shrink:0;margin-right:0}.shelf-caption{padding:0 3px;font-size:11px;gap:10px}.shelf-caption span:first-child{font-size:11px}
  .month-detail{padding:18px 5px 0;grid-template-columns:1fr 1fr;gap:5px 15px;border:0}.month-detail h2{grid-column:1/-1;font-size:28px}.month-detail dl{grid-template-columns:1fr auto;font-size:17px;margin:20px 0}.month-detail .primary{margin:0;font-size:16px;padding:10px 14px;gap:6px;white-space:nowrap}.month-detail .badge{align-self:center}
  .recent-section{margin-top:30px}.recent-section .section-title .quiet{padding:6px 0;font-size:16px}.quote-grid{grid-template-columns:1fr;gap:20px}.quote-item{padding:27px 23px}.quote-item .quote-text{font-size:19px;max-height:250px}.quote-item .quote-meta{gap:8px}.quote-item .quote-meta .actions{width:auto;justify-content:center}.quote-item .thought{font-size:17px}
  .toolbar{gap:12px}.toolbar input,.toolbar select{max-width:100%;width:100%}.archive-layout{gap:32px}.archive-result h3{font-size:22px}.warning,.file-row{font-size:16px}.dropzone{font-size:18px}.passport-entry .passport-meta{gap:10px 18px;font-size:15px}
  .studio-controls{padding:0}.studio-preview{padding:18px}.studio-controls label{font-size:17px}.reader-header{gap:15px}.reader-header h1{font-size:21px}.reader-header .segmented{width:100%}.segmented button{font-size:15px;padding:8px 5px;min-width:0}
  .volume-front{grid-template-columns:82px minmax(0,1fr);gap:18px;padding:15px 0 22px;margin-bottom:22px}.volume-cover{height:122px}.volume-cover>span{font-size:10px;padding:9px 2px}.volume-front h1{font-size:24px;line-height:1.6;margin-bottom:9px}.volume-front .front-label,.volume-front .book-bracket{font-size:18px}.volume-front .front-label{display:block}.volume-metadata{font-size:14px;gap:3px 8px}.volume-front .front-quote{font-size:12px;line-height:1.6;margin-top:9px}
  .reader-layout{grid-template-columns:minmax(0,1fr);gap:20px}.reader-filter{gap:10px}.reader-filter input,.reader-filter select{font-size:16px}.reader-rail{border:0;padding:0;max-height:150px}.reader-rail h3{font-size:17px}.ribbon{flex-basis:170px;background:var(--bg-card);font-size:15px;padding:10px;border:1px solid var(--border-paper);border-radius:8px}
  .reader-surface,.reader-surface.paper,.reader-surface.letter,.reader-surface.timeline{padding:21px 20px}.reader-entry .entry-text,.reader-surface.double .entry-text,.reader-surface.letter .entry-text{font-size:19px;padding-left:16px;line-height:1.95}.reader-entry .entry-meta{font-size:14px}.reader-entry .entry-actions{gap:4px}.reader-entry .entry-actions button{font-size:14px;padding:8px}.reader-entry .inline-note{font-size:17px;padding:14px}.reader-surface.double{display:block}.reader-pager{padding:10px 0 max(12px,env(safe-area-inset-bottom));background:var(--bg-main);border:0}
  footer{padding:24px 18px;gap:12px}footer span{font-size:15px}.unlock-form{padding:28px 23px}.unlock-form h1{font-size:30px}
}
@media(max-width:359px){
  .sidebar{padding-left:12px;padding-right:12px}.sidebar nav{gap:2px}.sidebar nav button{font-size:11px}.topbar #import-button{font-size:12px}.topbar #import-button svg{width:14px}.topbar .theme-switch{width:34px;min-width:34px}#breadcrumb{font-size:11px}.month-detail{grid-template-columns:1fr}.month-detail .primary{margin-top:10px}.volume-front{gap:13px;grid-template-columns:73px minmax(0,1fr)}.volume-front h1{font-size:22px}.volume-metadata{font-size:13px}
}
