:root {
 color-scheme: light dark;
 --ink: light-dark(#293e36,#e2e8dc); --muted: light-dark(#626e65,#a7b4a5);
 --green: light-dark(#355c48,#aec99c); --green-dark: light-dark(#244333,#c5dcb5);
 --line: light-dark(#dddcd1,#364339); --paper: light-dark(#fffef9,#202b24);
 --background: light-dark(#f5f3ea,#171f1a); --soft: light-dark(#e9eddf,#2a372b);
 --rust: light-dark(#965639,#dbaa85); --button-text: light-dark(#fffef9,#1b2d21);
 font: 15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 color:var(--ink); background:var(--background);
}
.group-shelf-heading {margin:26px 13px 8px}.shelves small {display:block;font-size:10px}.feed-tags {display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}.feed-tags span {font-size:10px;background:var(--soft);padding:2px 8px;border-radius:3px}.tag-editor {font-size:12px;margin-top:12px}.tag-editor summary {cursor:pointer;color:var(--green)}.tag-editor button {margin-top:12px}.group-row {display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0}.group-row+.group-row {border-top:1px solid var(--line)}.group-row h2 {font-size:23px;margin:0}.group-source {padding:12px 0;border-bottom:1px solid var(--line);margin:0}.group-source small {display:block;font-size:11px;color:var(--muted);font-weight:400;overflow-wrap:anywhere}.group-source span {min-width:0}.group-delete {margin-top:28px}.group-delete p {font-size:14px;color:var(--muted)}
:root[data-theme="light"] {color-scheme:light} :root[data-theme="dark"] {color-scheme:dark}
* {box-sizing:border-box} body {margin:0} a {color:var(--green);text-underline-offset:4px} a:hover {color:var(--green-dark)}
h1,h2,h3,p {margin-top:0} h1,h2 {font-family:Georgia,"Times New Roman",serif;line-height:1.2;font-weight:400;letter-spacing:-.025em}
h1 {font-size:clamp(32px,4vw,46px);margin-bottom:14px} h2 {font-size:26px;margin-bottom:14px} h3 {font-size:18px;line-height:1.4;margin-bottom:12px} p {margin-bottom:18px}
button,input,select {font:inherit} button,.button {display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid var(--green);border-radius:6px;background:var(--green);color:var(--button-text);font-weight:600;cursor:pointer;text-decoration:none;line-height:1.5}
button:hover,.button:hover {background:var(--green-dark);color:var(--button-text)} button.secondary,.button.secondary {background:transparent;color:var(--green);border-color:light-dark(#aebaaa,#61745b)} button.secondary:hover,.button.secondary:hover {background:var(--soft)}
input,select {display:block;width:100%;min-width:0;border:1px solid light-dark(#bfc6b7,#667760);border-radius:6px;padding:10px 12px;color:var(--ink);background:light-dark(#fffefb,#19221c)}
label {display:block;font-size:13px;font-weight:650;margin:18px 0 6px} label input,label select {margin-top:7px} input::placeholder {color:var(--muted);opacity:.9} button {flex-shrink:0}
input[type="checkbox"] {width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin:0} .checkbox {display:flex;align-items:center;gap:12px;margin:24px 0}
:focus-visible {outline:3px solid light-dark(#a76a35,#d6ab75);outline-offset:4px} .skip-link {position:absolute;top:-80px;left:12px;padding:10px;background:var(--paper);z-index:5} .skip-link:focus {top:8px}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header {border-bottom:1px solid var(--line);background:light-dark(#fbfaf3,#1c261f)} .header-inner {max-width:1200px;margin:auto;padding:23px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand {display:flex;align-items:center;gap:13px;text-decoration:none;font:700 31px/1.2 Georgia,serif}.brand small {display:block;font:400 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.035em;color:var(--muted);margin-top:5px}
.brand-mark {width:44px;height:48px;fill:var(--soft);stroke:var(--green);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.site-header nav {display:flex;align-items:center;flex-wrap:wrap;gap:22px;font-size:13px}.site-header nav>a {text-decoration:none}.site-header nav>a:hover {text-decoration:underline}.site-header form {margin:0}
.theme-picker {display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:11px;font-weight:400}.theme-picker[hidden] {display:none}.theme-picker select {width:auto;font-size:11px;padding:5px;margin:0}
.text-button {padding:2px 0;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:400}.text-button:hover {background:transparent;color:var(--ink);text-decoration:underline}
.container {max-width:1200px;min-height:calc(100vh - 198px);margin:auto;padding:42px 32px 65px}.page-heading {display:flex;align-items:center;justify-content:space-between;gap:25px;margin:4px 0 34px}.page-heading form {flex-shrink:0}
.eyebrow {font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:12px}.lede {font-size:16px;color:var(--muted);margin:0}.muted,.field-help {color:var(--muted)}.field-help {font-size:12px;margin:10px 0 0}.field-help:last-child {margin-bottom:0}
.paper {background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:28px}.narrow {max-width:590px;margin:32px auto;padding:38px}.narrow .button {margin-top:22px}
.notice,.error {padding:14px 18px;border:1px solid light-dark(#bcc7b2,#657b55);border-radius:6px;background:var(--soft);margin-bottom:25px}.error,.feed-error {color:var(--rust)}.error {border-color:var(--rust);background:transparent}
.reading-grid {display:grid;grid-template-columns:200px minmax(0,1fr);gap:38px;align-items:start}.shelves {padding-top:3px}.shelves nav {display:flex;flex-direction:column;gap:5px}.shelves nav a {text-decoration:none;padding:9px 13px;border-radius:5px;color:var(--muted);font-size:14px}.shelves nav a[aria-current] {background:var(--soft);color:var(--green);font-weight:650}.shelves nav a:hover {background:var(--soft)}
.shelf-note {border-top:1px solid var(--line);margin-top:28px;padding:24px 13px 18px}.shelf-note h2 {font-size:24px;line-height:1.25}.shelf-note p {font-size:13px;color:var(--muted)}.shelf-note a {font-size:12px}.shelves>.field-help {padding:0 13px}
.filter-form {margin:0 0 25px}.search-row {display:flex;gap:10px}.filters {display:flex;gap:15px;align-items:end;flex-wrap:wrap}.filters label {width:180px;flex:1 1 150px;margin-bottom:0;font-weight:400;color:var(--muted);font-size:11px}.filters select {font-size:13px;padding:7px 10px}.filters .text-button {padding-bottom:7px}.filters>a {font-size:12px;padding-bottom:7px}
.list-heading {display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px;margin:0 0 11px}.list-heading p {margin:0}.story-list {background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.story-row {padding:27px 28px 24px}.story-row+.story-row {border-top:1px solid var(--line)}.story-meta {display:flex;gap:10px 15px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-bottom:12px}.story-meta>a {font-size:11px;font-weight:650;text-decoration:none}.story-meta>time {margin-left:auto}.story-meta>span:first-of-type {background:var(--soft);padding:2px 8px;border-radius:3px}
.story-row h2 {font-family:Georgia,serif;font-size:24px;line-height:1.35;margin-bottom:12px;overflow-wrap:anywhere}.story-row h2 a {color:var(--ink);text-decoration:none}.story-row h2 a:hover {text-decoration:underline}.is-read h2 a {color:var(--muted)}.excerpt {color:var(--muted);font-size:13px;line-height:1.75;margin-bottom:18px;overflow-wrap:anywhere}.story-actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:12px}.story-actions form {margin:0}.story-actions .text-button {font-size:12px}.story-actions>a {text-decoration:none}.story-actions>a:hover {text-decoration:underline}
.reading-end {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-top:24px}.reading-end button,.pagination .button {font-size:12px;padding:9px 14px}.pagination {display:flex;gap:10px}.end-note {text-align:center;font:italic 16px/1.6 Georgia,serif;color:var(--muted);border-top:1px solid var(--line);margin:30px 0 0;padding:26px 12px 0}
.empty-state {padding:55px 25px;text-align:center}.empty-state h2 {font-size:30px}.empty-state p {color:var(--muted);max-width:460px;margin:0 auto 22px}.empty-state .eyebrow {margin-bottom:15px}
.add-source {margin-bottom:28px}.add-source h2 {font-size:24px;margin-bottom:5px}.add-row {display:flex;align-items:end;gap:16px}.add-row label {flex:1;margin-bottom:0}.add-row label:first-child {flex:3}.add-row button {margin-bottom:0}.source-list {padding:0}.source-row {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 28px}.source-row+.source-row {border-top:1px solid var(--line)}.source-row>div {min-width:0}.source-row .eyebrow {margin-bottom:6px}.source-row h2 {font:600 17px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin-bottom:6px}.feed-url {font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:0}.feed-error {font-size:12px;margin:8px 0 0;overflow-wrap:anywhere}.source-row button {font-size:12px;padding:8px 13px}
.catalog {margin:48px 0 32px}.section-heading {margin-bottom:24px}.section-heading h2 {font-size:32px}.section-heading>p:last-child {color:var(--muted);font-size:14px}.catalog-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-card {display:flex;flex-direction:column;padding:24px}.catalog-card>p:not(.eyebrow) {color:var(--muted);font-size:13px;flex:1}.catalog-card h3 {font-family:Georgia,serif;font-weight:400;font-size:24px}.catalog-bottom {display:flex;align-items:center;justify-content:space-between;margin-top:6px}.catalog-bottom>a {font-size:12px}.small {font-size:12px;padding:7px 14px}.portability {max-width:720px}.portability p {font-size:14px;color:var(--muted)}.portability form {margin-bottom:20px}.portability button {margin-top:12px}.portability input {font-size:13px}
.reading-paper {max-width:800px;margin:0 auto;padding:40px 48px}.breadcrumb {display:inline-block;font-size:12px;margin-bottom:34px}.reading-paper h1 {font-size:clamp(30px,4vw,44px);line-height:1.25;overflow-wrap:anywhere}.reading-paper header .story-actions {margin-top:24px}.reader-body {font:19px/1.95 Georgia,"Times New Roman",serif;margin:35px 0;white-space:pre-wrap;overflow-wrap:anywhere}.reading-paper footer {border-top:1px solid var(--line);padding-top:22px}.reading-paper footer form {margin-top:24px}.reading-paper .button {font-size:13px}
.welcome-grid {display:grid;grid-template-columns:1.2fr 1fr;gap:90px;max-width:1000px;margin:35px auto 30px;align-items:center}.welcome-copy h1 {font-size:clamp(40px,4.6vw,62px);line-height:1.12;margin-bottom:25px}.welcome-copy>.lede {font-size:17px;max-width:410px}.welcome-note {background:var(--soft);border:1px solid light-dark(#d5ddc3,#4c5d40);border-radius:3px 3px 28px 3px;padding:28px 30px;margin-top:32px;max-width:390px}.welcome-note p {font:24px/1.55 Georgia,serif;margin-bottom:18px}.welcome-note span {display:block;border-top:1px solid light-dark(#cbd4bf,#4d5e45);padding-top:16px;font:italic 15px/1.6 Georgia,serif;color:var(--rust)}.login-paper {padding:35px}.login-paper h2 {font-size:32px}.login-paper>.muted {font-size:14px}.full-width {width:100%;margin-top:24px}.account-note {font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin:25px 0 0;padding-top:22px}
.account-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.account-grid .paper>p {font-size:14px}.account-grid button {margin-top:15px}.account-grid .field-help {font-size:12px;margin-top:22px}
.site-footer {border-top:1px solid var(--line);max-width:1136px;margin:auto;padding:23px 0 28px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}
@media(max-width:1000px) {.welcome-grid {gap:40px}.site-header nav {gap:15px}.reading-grid {grid-template-columns:170px minmax(0,1fr);gap:24px}.catalog-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer {margin:0 32px}.brand small {font-size:10px}.header-inner {gap:20px}.list-heading>span {display:none}}
@media(max-width:760px) {.header-inner {padding:18px 20px;flex-wrap:wrap}.site-header nav {width:100%;gap:18px;font-size:12px}.theme-picker {margin-left:auto}.container {padding:28px 20px 45px}.page-heading {align-items:flex-start;flex-direction:column;gap:20px}.reading-grid {grid-template-columns:1fr;gap:24px}.shelves {padding:0}.shelves>.eyebrow,.shelf-note,.shelves>.field-help {display:none}.shelves nav {flex-direction:row;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:16px}.shelves nav a {font-size:12px;padding:8px 10px}.filters {gap:12px}.filters label {flex:1 1 120px}.story-row {padding:23px 21px}.story-row h2 {font-size:23px}.story-actions {gap:10px 17px}.reading-paper {padding:28px}.reader-body {font-size:18px}.add-row {flex-wrap:wrap;align-items:stretch;gap:0 15px}.add-row label:first-child {flex:1 1 100%}.add-row label:nth-child(2) {flex:1}.add-row button {margin-top:44px}.source-row {padding:22px;gap:15px}.welcome-grid {display:flex;flex-direction:column;align-items:stretch;gap:30px;margin:10px auto;max-width:550px}.welcome-copy h1 {font-size:46px}.welcome-note {display:none}.welcome-copy>.lede {max-width:none}.login-paper {padding:28px}.account-grid {grid-template-columns:1fr}.site-footer {margin:0 20px;flex-direction:column;gap:5px}.paper {padding:23px}.source-list {padding:0}.empty-state {padding:40px 24px}.narrow {padding:28px;margin-top:10px}}
@media(max-width:460px) {.catalog-grid {grid-template-columns:1fr}.story-meta {gap:6px 10px}.story-meta>time {margin-left:0}.list-heading span {display:none}.brand {font-size:29px}.site-header nav {gap:15px}.theme-picker {gap:4px}.theme-picker select {max-width:75px}.theme-picker {font-size:0}.theme-picker select {font-size:11px}.reading-paper {padding:23px}.search-row button {padding:10px 14px}.welcome-copy h1 {font-size:42px}.source-row {align-items:flex-start;flex-direction:column}.filters .text-button {font-size:12px}.filters label {flex-basis:100px}.story-actions .button {width:100%}.story-actions form {max-width:100%}}

.mascot {display:block;max-width:100%;height:auto;object-fit:contain}.welcome-mascot {margin:0 0 20px;width:150px}.empty-mascot {margin:0 auto 20px;width:115px}.demo-notice {font-size:13px;overflow-wrap:anywhere}.demo-notice small {display:block;margin-top:6px;color:var(--muted)}
@media(max-width:760px){.welcome-copy {position:relative}.welcome-mascot {width:90px;float:right;margin:0 0 10px 15px}.demo-notice {font-size:12px}}

.admin-row,.discovered-feed{padding:1rem 0;border-top:1px solid var(--line)}
.admin-row summary{cursor:pointer;overflow-wrap:anywhere}
.admin-row form{margin-top:1rem}

.error{overflow-wrap:anywhere}
