@charset "UTF-8";
:root{color-scheme:light dark;--paper:#f8f7f3;--ink:#252923;--muted:#72786c;--line:#dedfd6;--accent:#536841;--soft:#eff0e8;--error:#933d32;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:absolute;left:16px;top:-100px}.skip:focus{top:12px;background:var(--paper);padding:10px;z-index:2}
.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 5vw}.brand{font-size:30px;font-weight:750;letter-spacing:-1.5px;text-decoration:none}.brand-dot{color:var(--accent)}.topbar-label{font-size:10px;letter-spacing:2px;color:var(--muted)}.original{font-size:13px;text-decoration:none}.original span{margin-left:12px}.preview-badge{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:7px 12px;color:var(--muted)}
.library{max-width:900px;margin:78px auto;padding:0 28px}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.8px;text-transform:uppercase;color:var(--accent);font-weight:650}.eyebrow span{margin:0 9px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.5px;line-height:1.12}.library>h1{font-size:58px;margin:14px 0 20px}.intro{color:var(--muted);line-height:1.7;margin-bottom:38px}.capture-form label{display:block;font-size:12px;font-weight:600;margin-bottom:10px}.input-row{display:flex;gap:10px}.input-row input{min-width:0;flex:1;border:1px solid var(--line);background:transparent;color:var(--ink);padding:16px;border-radius:6px;font-size:14px}.input-row button{border:0;border-radius:6px;background:var(--accent);color:#fff;padding:14px 22px;cursor:pointer;font-size:13px;font-weight:550;white-space:nowrap}.input-row button:hover{filter:brightness(1.12)}.input-row button span{margin-left:10px}.hint{font-size:12px;color:var(--muted);margin-top:12px}.saved{margin-top:62px}.section-label{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:15px}.section-label h2{font-size:14px;margin:0}.section-label>span{font-size:11px;color:var(--muted)}.article-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}.article-row>div{min-width:0}.article-title{font-family:Georgia,"Times New Roman",serif;font-size:22px;text-decoration:none;line-height:1.35}.article-title:hover{text-decoration:underline}.article-row p{font-size:11px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:680px;margin:8px 0 0}.row-original{text-decoration:none;color:var(--muted);padding:10px}.empty{text-align:center;border-bottom:1px solid var(--line);padding:55px 20px}.empty>span{font-size:30px;color:var(--accent)}.empty h3{font-family:Georgia,serif;font-weight:400;font-size:23px}.empty p,.prototype-note{font-size:12px;color:var(--muted);line-height:1.7}.prototype-note{margin-top:40px}.error{margin-top:24px;padding:20px;border:1px solid var(--error);border-radius:6px;color:var(--error);font-size:13px;overflow-wrap:anywhere}
.reader{max-width:740px;margin:70px auto;padding:0 28px}.article-header{margin-bottom:38px;padding-bottom:30px;border-bottom:1px solid var(--line)}.article-header h1{font-size:clamp(34px,4.4vw,52px);margin:18px 0 25px;overflow-wrap:anywhere}.byline{font-size:12px;color:var(--muted);line-height:1.8}.byline span{font-size:11px}.article-body{font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.8;overflow-wrap:anywhere}.article-body p{margin:1.25em 0}.article-body h1,.article-body h2,.article-body h3,.article-body h4{line-height:1.3;font-weight:600;letter-spacing:-.3px;margin:1.8em 0 .6em}.article-body h1{font-size:32px}.article-body h2{font-size:28px}.article-body h3{font-size:23px}.article-body a{color:var(--accent)}.article-body img{display:block;max-width:100%;height:auto;margin:26px auto;border-radius:3px}.article-body figure{margin:32px 0}.article-body figcaption{font-family:system-ui,sans-serif;font-size:12px;color:var(--muted);text-align:center}.article-body pre{padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:5px;overflow:auto;white-space:pre;line-height:1.6;font-size:13px}.article-body code,.article-body kbd,.article-body samp{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8em}.article-body pre code{font-size:inherit}.article-body blockquote{border-left:3px solid var(--accent);margin:30px 0;padding:0 24px;color:var(--muted)}.article-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-family:system-ui,sans-serif;font-size:14px}.article-body td,.article-body th{padding:10px;border:1px solid var(--line)}.article-body hr{border:0;border-top:1px solid var(--line);margin:35px 0}.missing-image{display:block;padding:15px;background:var(--soft);color:var(--muted);font:12px/1.6 system-ui,sans-serif}.capture-notes{font-size:12px;line-height:1.7;color:var(--muted);background:var(--soft);padding:13px 17px;margin-bottom:25px;overflow-wrap:anywhere}.capture-notes summary{cursor:pointer}.article-footer{border-top:1px solid var(--line);margin:55px 0;padding:35px 0;text-align:center;font-size:12px;color:var(--muted)}.endmark{color:var(--accent);font-size:12px}.article-footer p{margin:18px 0}
@media(prefers-color-scheme:dark){:root{--paper:#1e211d;--ink:#e0e3d9;--muted:#a1aa99;--line:#3a4236;--accent:#b1c39c;--soft:#282e25;--error:#eea99b}.input-row button{color:#20271a}.article-body img{opacity:.92}}
@media(max-width:600px){.topbar{height:72px;padding:0 22px}.topbar-label{display:none}.library{margin:45px auto;padding:0 22px}.library>h1{font-size:42px}.input-row{flex-direction:column}.input-row button{padding:16px}.reader{margin:40px auto;padding:0 22px}.article-body{font-size:18px}.article-header h1{letter-spacing:-1px}.article-title{font-size:20px}.original{font-size:12px}}
@media print{.topbar,.capture-notes{display:none}.reader{max-width:none;margin:0}.article-body{font-size:12pt}a{color:inherit}.article-footer{break-inside:avoid}}

/* Account-owned library and ordinary form controls. */
.security-panel { max-width: 600px; line-height: 1.7; }
.security-section { border-top: 1px solid var(--line); margin-top: 30px; padding: 24px 0; }
.security-section h2 { font-size: 18px; margin-top: 0; }
.security-section summary { cursor: pointer; }
.security-device { padding: 12px 0 24px; border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.totp-qr { width: 256px; height: 256px; max-width: 100%; object-fit: contain; background: white; margin: 16px 0; image-rendering: pixelated; }
.secret-code, .recovery-codes { font-family: ui-monospace, monospace; overflow-wrap: anywhere; }
.recovery-codes { list-style: none; padding: 15px 0; line-height: 2.4; font-size: 13px; }
button:disabled { cursor: wait; opacity: .6; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
input, select { color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 5px; padding: 12px; max-width: 100%; }
select { font: inherit; }
button { cursor: pointer; }
.text-button { border: 0; padding: 5px 0; color: var(--accent); background: transparent; text-decoration: underline; text-underline-offset: 4px; }
.quiet-button { border: 1px solid var(--line); border-radius: 5px; padding: 9px 13px; background: var(--soft); color: var(--ink); white-space: nowrap; font-size: 12px; }
.quiet-button:hover { border-color: var(--accent); }
.account-nav, .row-actions, .list-buttons { display: flex; align-items: center; gap: 18px; }
.account-nav { font-size: 12px; }
.account-nav a { text-decoration: none; }
.app-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); max-width: 1320px; margin: 0 auto; }
.desktop-navigation { border-right: 1px solid var(--line); min-height: calc(100vh - 88px); padding: 45px 22px 35px 12px; }
.mobile-navigation { display: none; }
.nav-item { display: flex; align-items: baseline; gap: 12px; justify-content: space-between; padding: 12px; border-radius: 5px; text-decoration: none; font-size: 13px; }
.nav-item span:first-child { overflow-wrap: anywhere; }
.nav-item.selected { background: var(--soft); color: var(--accent); font-weight: 650; }
.count { color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.nav-label { margin: 32px 12px 9px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 1.6px; }
.manage-lists { display: block; margin: 26px 12px; color: var(--muted); font-size: 12px; text-decoration: none; }
.workspace { min-width: 0; padding: 45px 50px 70px; }
.page-header { margin-bottom: 30px; }
.page-header h1 { font-size: 44px; margin: 12px 0 22px; overflow-wrap: anywhere; }
.view-tabs { display: flex; gap: 25px; border-bottom: 1px solid var(--line); }
.view-tabs a { padding: 10px 0 12px; font-size: 13px; color: var(--muted); text-decoration: none; }
.view-tabs a[aria-current] { color: var(--accent); border-bottom: 2px solid var(--accent); }
.destination { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.destination label { margin: 0; color: var(--muted); }
.destination select { font-size: 12px; padding: 6px 10px; max-width: 240px; }
.article-list { margin-top: 42px; }
.row-meta { line-height: 1.7; }
.row-actions { gap: 10px; flex-shrink: 0; }
.article-row .article-title { overflow-wrap: anywhere; }
.pagination { display: flex; justify-content: space-between; margin-top: 25px; font-size: 13px; }
.notice { padding: 18px 20px; border: 1px solid var(--line); border-radius: 5px; background: var(--soft); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.undo-notice { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.login-panel { max-width: 440px; margin: 80px auto; padding: 0 25px; }
.login-panel h1 { font-size: 45px; margin: 18px 0; }
.stack-form { display: flex; flex-direction: column; gap: 12px; }
.stack-form label { margin-top: 10px; font-size: 13px; }
.stack-form button { border: 0; border-radius: 5px; background: var(--accent); color: var(--paper); padding: 14px; margin-top: 15px; font-size: 13px; font-weight: 650; }
.account-panel { max-width: 430px; overflow-wrap: anywhere; }
.account-panel h2, .article-lists h2 { font-size: 16px; }
.list-management { margin-top: 35px; }
.managed-list { padding: 25px 0; border-bottom: 1px solid var(--line); }
.list-rename { display: flex; gap: 10px; }
.list-rename input { min-width: 0; flex: 1; }
.list-buttons { margin-top: 14px; justify-content: space-between; }
.list-buttons form:first-child { display: flex; gap: 8px; }
.danger { color: var(--error); font-size: 12px; }
.stack-form button.danger { background: var(--error); color: var(--paper); white-space: normal; }
.reader-actions { display: flex; justify-content: space-between; gap: 15px; align-items: center; font-size: 12px; padding-bottom: 28px; }
.back-link { text-decoration: none; color: var(--muted); }
.saved-reader { max-width: 684px; margin: 30px auto 0; }
.capture-notice { margin-bottom: 35px; }
.article-lists { border-top: 1px solid var(--line); padding-top: 25px; margin-top: 40px; }
.list-choices { display: flex; flex-wrap: wrap; gap: 14px 24px; margin: 22px 0; }
.list-choices label { display: flex; align-items: center; gap: 9px; font-size: 13px; overflow-wrap: anywhere; }
.list-choices input { accent-color: var(--accent); }
.refresh-copy { margin-top: 30px; font-size: 12px; }
@media (max-width: 900px) {
  .app-layout { grid-template-columns: 185px minmax(0, 1fr); }
  .workspace { padding: 35px 28px 60px; }
  .desktop-navigation { padding-left: 8px; padding-right: 14px; }
}
@media (max-width: 700px) {
  .app-layout { display: block; }
  .desktop-navigation { display: none; }
  .mobile-navigation { display: block; border-bottom: 1px solid var(--line); padding: 14px 22px; }
  .mobile-navigation summary { cursor: pointer; font-size: 13px; color: var(--accent); }
  .mobile-navigation .sidebar { padding-top: 15px; }
  .workspace { padding: 28px 22px 50px; }
  .page-header h1 { font-size: 36px; }
  .article-row { align-items: flex-start; }
  .row-actions { gap: 4px; }
  .row-original { padding: 8px; }
  .article-row .article-title { font-size: 19px; }
  .reader-actions { align-items: flex-start; flex-wrap: wrap; }
  .reader-actions .row-actions { flex-wrap: wrap; gap: 14px; }
  .saved-reader { margin-top: 20px; }
  .saved-reader .article-header h1 { font-size: 33px; }
  .login-panel { margin-top: 45px; }
  .account-nav { gap: 12px; }
}
@media print {
  .desktop-navigation, .mobile-navigation, .reader-actions, .article-lists, .refresh-copy { display: none; }
  .app-layout { display: block; }
  .workspace { padding: 0; }
}

/* Account preferences are present on the first response, without a theme flash. */
:root[data-theme="light"] { color-scheme: light; --paper:#f8f7f3; --ink:#252923; --muted:#72786c; --line:#dedfd6; --accent:#536841; --soft:#eff0e8; --error:#933d32; }
:root[data-theme="dark"] { color-scheme: dark; --paper:#1e211d; --ink:#e0e3d9; --muted:#a1aa99; --line:#3a4236; --accent:#b1c39c; --soft:#282e25; --error:#eea99b; }
:root[data-theme="light"] .input-row button { color: #fff; }
:root[data-theme="dark"] .input-row button { color: #20271a; }
:root[data-theme="light"] .article-body img { opacity: 1; }
:root[data-reader-size="small"] .saved-reader .article-body { font-size: 17px; }
:root[data-reader-size="medium"] .saved-reader .article-body { font-size: 19px; }
:root[data-reader-size="large"] .saved-reader .article-body { font-size: 23px; }
:root[data-reader-width="narrow"] .saved-reader { max-width: 540px; }
:root[data-reader-width="wide"] .saved-reader { max-width: 860px; }
.search-form { margin-top: 32px; }
.search-form > label { display: block; font-size: 13px; margin-bottom: 10px; }
.article-row .search-excerpt { white-space: normal; line-height: 1.7; font-size: 13px; overflow-wrap: anywhere; }
.pin-label { display: block; color: var(--accent); font-size: 11px; margin-bottom: 8px; font-weight: 650; }
.article-row .reading-label { color: var(--accent); }
.account-section { border-bottom: 1px solid var(--line); padding-bottom: 30px; margin-bottom: 30px; line-height: 1.7; }
.account-section h2 { font-size: 18px; }
.preference-form { display: flex; align-items: end; flex-wrap: wrap; gap: 15px; padding: 16px 0; }
.preference-form > div { display: flex; flex-direction: column; gap: 8px; }
.preference-form label { font-size: 12px; }
.preference-form select { min-width: 110px; }
.reader-preferences { font-size: 13px; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.reader-preferences summary { cursor: pointer; color: var(--muted); }
.bookmarklet { display: inline-block; text-decoration: none; }
.reading-status:empty { display: none; }
select:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
@media (max-width: 700px) {
  .article-row { flex-wrap: wrap; gap: 14px; }
  .article-row > div:first-child { width: 100%; }
  .article-row .row-actions { width: 100%; justify-content: flex-end; gap: 10px; }
  .quiet-button, .row-original { min-height: 44px; }
  .preference-form > div { flex: 1 1 120px; }
  .preference-form button { flex: 1 1 100%; }
  .article-row p { max-width: 100%; }
  .account-nav > a { max-width: 36vw; overflow: hidden; text-overflow: ellipsis; }
}
@media print {
  .reader-preferences, [data-reading-status] { display: none; }
}

/* Settings and account administration use the existing palette and controls. */
.settings-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; border-bottom: 1px solid var(--line); padding-bottom: 16px; margin-bottom: 28px; font-size: 14px; }
.settings-nav a { padding: 8px 0; text-decoration: none; }
.settings-nav a[aria-current] { color: var(--accent); text-decoration: underline; font-weight: 650; }
.security-device details, .device-enrollment { margin-top: 12px; }
.security-device .list-rename { margin-top: 12px; }
.account-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 12px 22px; }
.account-facts dt { color: var(--muted); }
.account-facts dd { margin: 0; overflow-wrap: anywhere; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 16px 24px; }
.admin-table-wrap { overflow-x: auto; margin-top: 28px; }
.admin-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
.admin-table th, .admin-table td { padding: 16px 12px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.admin-table th:first-child { max-width: 250px; }
.admin-events { padding-left: 20px; font-size: 12px; overflow-wrap: anywhere; line-height: 2; }
.appearance-preview { padding: 24px; border: 1px solid var(--line); border-radius: 5px; background: var(--paper); font: 19px/1.8 Georgia,serif; max-width: 740px; }
.appearance-preview h2 { font-weight: 400; line-height: 1.3; }
.appearance-preview[data-size="small"] { font-size: 17px; }
.appearance-preview[data-size="large"] { font-size: 23px; }
.appearance-preview[data-width="narrow"] { max-width: 540px; }
.appearance-preview[data-width="wide"] { max-width: 860px; }
@media (max-width: 700px) {
  .settings-nav a, .admin-actions a { min-height: 44px; display: inline-flex; align-items: center; }
  .account-nav { flex-wrap: wrap; gap: 8px 12px; }
  .account-nav > span { max-width: 30vw; overflow: hidden; text-overflow: ellipsis; }
  .security-device .list-rename { flex-wrap: wrap; }
  .admin-table th, .admin-table td { padding: 12px 8px; font-size: 12px; }
  .account-facts { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}

@media (max-width: 700px) {
  .admin-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .admin-table tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
  .admin-table tbody th { grid-column: 1 / -1; max-width: none; font-size: 14px; }
  .admin-table tbody th a { display: inline-flex; min-height: 44px; align-items: center; }
  .admin-table tbody th, .admin-table td { border: 0; padding: 0; }
  .admin-table td { overflow-wrap: normal; }
  .admin-table td::before { content: attr(data-label); display: block; color: var(--muted); font-size: 11px; margin-bottom: 8px; }
}
