:root{--sage:#dce8db;--sage-deep:#cbdacb;--paper:#f4f5ed;--paper-2:#eef2eb;--ink:#17372e;--muted:#61736c;--line:rgba(23,55,46,.14);--line-strong:rgba(23,55,46,.23);--ox:#813c47;--ox-dark:#6e303d;--shadow:0 22px 60px rgba(23,55,46,.17);--radius:14px;--ease:cubic-bezier(.32,.72,0,1);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--sage)}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.52),transparent 38%),linear-gradient(135deg,var(--sage),#c7d8c6 75%);color:var(--ink);transition:background .55s var(--ease),color .55s var(--ease)}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--ox) 70%,white);outline-offset:3px}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;padding:20px;gap:0}.sidebar,.workspace{background:color-mix(in srgb,var(--paper) 93%,transparent);border:1px solid var(--line);box-shadow:var(--shadow)}.sidebar{border-radius:16px 0 0 16px;padding:32px 14px 22px;display:flex;flex-direction:column;min-height:calc(100vh - 40px);position:relative;z-index:2}.workspace{border-left:0;border-radius:0 16px 16px 0;overflow:hidden;min-width:0}.brand-block{display:flex;align-items:flex-start;gap:14px;padding:0 16px 30px}.brand-mark{font-family:ui-serif,Georgia,serif;font-size:60px;line-height:.7;color:var(--ink)}.brand-block strong{display:block;font-size:31px;letter-spacing:.02em;line-height:1}.brand-block small{display:block;margin-top:8px;font-size:11px;line-height:1.35;color:var(--muted);max-width:130px}.primary-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:10px;text-align:left;font-size:16px;transition:background .45s var(--ease),transform .45s var(--ease),color .45s var(--ease)}.nav-item:hover{transform:translateX(3px);background:rgba(129,60,71,.08)}.nav-item.active{background:rgba(129,60,71,.14);color:var(--ox)}.nav-item b{margin-left:auto;font-weight:600;background:rgba(129,60,71,.18);border-radius:99px;padding:3px 8px;font-size:13px}.icon{width:21px;text-align:center;font-size:18px;line-height:1}.category-nav{border-top:1px solid var(--line);margin-top:28px;padding:23px 16px 0;display:grid;gap:12px}.section-label,.modal-kicker{font-size:12px;letter-spacing:.14em;color:var(--muted)}.category-link,.edit-categories{display:flex;align-items:center;gap:12px;text-align:left;font-size:16px;padding:2px 0;transition:transform .4s var(--ease)}.category-link:hover,.edit-categories:hover{transform:translateX(3px)}.dot{width:20px;height:20px;border-radius:50%;display:inline-block;flex:0 0 auto}.dot.design{background:#a86d70}.dot.technology{background:#4f69a4}.dot.culture{background:#d39135}.dot.science{background:#438b91}.edit-categories{margin-top:4px;color:var(--ink)}.theme-toggle{margin-top:auto;border-top:1px solid var(--line);padding:22px 16px 0;display:flex;align-items:center;gap:12px;text-align:left;font-size:15px}.theme-toggle .chevron{margin-left:auto;font-size:20px}.toolbar{display:flex;gap:16px;align-items:center;padding:28px 28px 20px;border-bottom:1px solid var(--line)}.search-wrap{height:46px;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);background:rgba(255,255,255,.22);border-radius:10px;padding:0 14px;flex:1;max-width:640px}.search-icon{font-size:28px;line-height:0;transform:rotate(-20deg)}.search-wrap input{background:none;border:0;outline:0;width:100%;font-size:16px;color:var(--ink)}.search-wrap input::placeholder{color:var(--muted)}.save-button,.primary-button{background:var(--ox);color:#fff;border-radius:9px;padding:12px 20px;font-weight:650;box-shadow:0 8px 16px rgba(129,60,71,.18);transition:transform .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease)}.save-button{background:var(--ox);white-space:nowrap}.save-button:hover,.primary-button:hover{transform:translateY(-2px);background:var(--ox-dark);box-shadow:0 12px 20px rgba(129,60,71,.24)}.more-button{border:1px solid var(--line);border-radius:10px;width:46px;height:46px;letter-spacing:3px;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);min-height:calc(100vh - 116px)}.library-pane{padding:34px 28px}.library-heading-row{display:flex;align-items:end;justify-content:space-between;padding:0 4px 20px}.library-heading-row h1{margin:0;font-size:34px;letter-spacing:-.04em}.library-heading-row span{color:var(--muted);font-size:14px}.sort-select{color:var(--muted);font-size:14px;padding-bottom:4px}.sort-select span{font-size:18px;margin-left:7px}.article-list{display:grid;gap:0}.article-row{display:grid;grid-template-columns:118px minmax(0,1fr) 20px;gap:18px;padding:20px 4px;border-bottom:1px solid var(--line);align-items:center;cursor:pointer;transition:background .45s var(--ease),padding .45s var(--ease),transform .45s var(--ease)}.article-row:hover{background:rgba(255,255,255,.28);padding-left:12px;padding-right:12px}.article-row.selected{background:rgba(255,255,255,.38);border-radius:12px;padding-left:12px;padding-right:12px}.thumb{width:118px;height:112px;border-radius:10px;object-fit:cover;background:var(--sage-deep)}.article-row h2{font-size:20px;line-height:1.18;letter-spacing:-.025em;margin:0 0 9px;font-weight:650}.meta{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:9px;flex-wrap:wrap}.meta .cat{font-weight:600}.cat.design{color:#8b4b52}.cat.technology{color:#3d5894}.cat.culture{color:#9d661f}.cat.science{color:#32747a}.excerpt{font-size:14px;color:var(--muted);margin-top:9px;line-height:1.45;max-width:520px}.row-actions{color:var(--muted);font-size:20px}.preview-pane{border-left:1px solid var(--line);padding:30px;background:rgba(255,255,255,.19);min-width:0}.preview-card{max-width:560px;margin:0 auto}.preview-label{font-size:12px;letter-spacing:.16em;color:var(--muted);margin-bottom:16px}.preview-card h2{font-family:ui-serif,Georgia,serif;font-size:clamp(34px,3vw,54px);line-height:1.04;letter-spacing:-.045em;margin:0 0 15px;font-weight:500}.preview-card .preview-meta{font-size:15px;color:var(--muted);display:flex;gap:10px;align-items:center;margin-bottom:22px}.hero-image{width:100%;height:220px;border-radius:12px;object-fit:cover;background:var(--sage-deep);margin-bottom:24px}.reader-copy{font-family:ui-serif,Georgia,serif;font-size:21px;line-height:1.56;max-width:620px;color:var(--ink)}.reader-copy p{margin:0 0 22px}.progress-row{display:flex;align-items:center;gap:12px;margin-top:28px;color:var(--muted);font-size:13px}.progress-track{height:5px;flex:1;background:rgba(23,55,46,.12);border-radius:99px;overflow:hidden}.progress-fill{height:100%;width:42%;background:var(--ink);border-radius:99px}.preview-tools{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.tool-button{border:1px solid var(--line);padding:10px 13px;border-radius:9px;color:var(--ink);font-size:14px;background:rgba(255,255,255,.24);transition:transform .4s var(--ease),background .4s var(--ease)}.tool-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.5)}.note-box{border:1px solid var(--line);border-radius:10px;padding:15px 17px;background:rgba(255,255,255,.26);font-size:14px;line-height:1.45}.note-box strong{display:block;margin-bottom:7px}.resume-button{width:100%;margin-top:18px}.modal{border:0;padding:0;background:transparent;max-width:min(620px,calc(100vw - 28px));width:100%}.modal::backdrop{background:rgba(23,55,46,.33);backdrop-filter:blur(10px)}.modal-card{background:var(--paper);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 25px 80px rgba(23,55,46,.3);padding:28px;color:var(--ink)}.modal-header{display:flex;align-items:center;justify-content:space-between}.close-button{font-size:28px;line-height:1;color:var(--muted);padding:2px 8px}.modal-card h2{font-family:ui-serif,Georgia,serif;font-size:37px;letter-spacing:-.04em;margin:20px 0 8px}.modal-copy{color:var(--muted);line-height:1.55;margin:0 0 22px}.field-label{display:block;font-size:13px;color:var(--muted);margin:16px 0 7px}.field-label span{opacity:.8}.field{width:100%;border:1px solid var(--line-strong);border-radius:9px;background:rgba(255,255,255,.35);padding:12px 13px;color:var(--ink);font-size:16px}.note-field{min-height:118px;resize:vertical}.suggestion{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:rgba(255,255,255,.26);border-radius:9px;padding:13px;margin-top:18px}.suggestion strong,.suggestion small{display:block}.suggestion small{font-size:12px;color:var(--muted);margin-top:4px}.suggestion .text-button{margin-left:auto}.text-button{color:var(--ox);font-weight:650}.save-status{color:var(--muted);font-size:13px;margin:16px 0}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.secondary-button{border:1px solid var(--line-strong);border-radius:9px;padding:11px 18px}.category-options{display:grid;border:1px solid var(--line);border-radius:9px;overflow:hidden}.category-option{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line);font-size:16px}.category-option:last-child{border-bottom:0}.category-option input{margin-left:auto;accent-color:var(--ox)}.new-category{margin-top:16px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;padding:12px 17px;border-radius:9px;font-size:14px;pointer-events:none;transition:opacity .45s var(--ease),transform .45s var(--ease);z-index:4}.toast.show{opacity:1;transform:translate(-50%,0)}
body.dark{--sage:#12251f;--sage-deep:#1a332b;--paper:#10221c;--paper-2:#183128;--ink:#e6efe4;--muted:#a3b8ae;--line:rgba(230,239,228,.15);--line-strong:rgba(230,239,228,.28);--ox:#b85b68;--ox-dark:#d06a78;--shadow:0 22px 64px rgba(0,0,0,.32);background:radial-gradient(circle at 85% 8%,rgba(129,60,71,.18),transparent 30%),linear-gradient(135deg,#132c24,#0d1b17 80%)}body.dark .sidebar,body.dark .workspace{background:rgba(16,34,28,.89)}body.dark .workspace{background:rgba(13,29,24,.8)}body.dark .preview-pane{background:rgba(5,18,14,.25)}body.dark .search-wrap,body.dark .tool-button,body.dark .note-box,body.dark .suggestion,body.dark .field{background:rgba(255,255,255,.05)}body.dark .progress-fill{background:#b8d8c5}body.dark .nav-item.active{background:rgba(184,91,104,.22)}body.dark .library-heading-row span{color:var(--muted)}
@media(max-width:1050px){.app-shell{grid-template-columns:220px 1fr;padding:12px}.sidebar{padding-left:8px;padding-right:8px}.workspace-grid{grid-template-columns:1fr}.preview-pane{border-left:0;border-top:1px solid var(--line);padding:34px 28px}.preview-card{max-width:720px}.article-row{grid-template-columns:100px minmax(0,1fr) 18px}.thumb{width:100px;height:98px}}
@media(max-width:720px){.app-shell{display:block;padding:0}.sidebar{min-height:auto;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:18px 16px 12px}.brand-block{padding:0 6px 16px;align-items:center}.brand-mark{font-size:42px}.brand-block strong{font-size:26px}.brand-block small{font-size:10px;margin-top:4px}.primary-nav{display:flex;overflow:auto;gap:4px;padding-bottom:4px}.nav-item{white-space:nowrap;padding:10px 12px;font-size:14px;gap:7px}.nav-item .icon{display:none}.category-nav{display:none}.theme-toggle{position:absolute;right:14px;top:20px;border:0;padding:8px 0;margin:0;font-size:0}.theme-toggle .icon{font-size:21px}.theme-toggle .chevron{display:none}.workspace{border:0;border-radius:0;box-shadow:none}.toolbar{padding:15px 16px;gap:8px}.search-wrap{height:42px}.search-wrap input{font-size:15px}.save-button{font-size:0;padding:11px;width:42px}.save-button span{font-size:22px}.more-button{width:42px;height:42px}.library-pane{padding:23px 16px}.library-heading-row{padding-bottom:12px}.library-heading-row h1{font-size:30px}.sort-select{font-size:12px}.article-row{grid-template-columns:80px minmax(0,1fr) 14px;gap:12px;padding:15px 0}.article-row:hover,.article-row.selected{padding-left:8px;padding-right:8px}.thumb{width:80px;height:80px}.article-row h2{font-size:17px;margin-bottom:6px}.meta,.excerpt{font-size:12px}.excerpt{display:none}.preview-pane{padding:27px 16px}.preview-card h2{font-size:36px}.hero-image{height:190px}.reader-copy{font-size:19px}.modal-card{padding:22px}.modal-card h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Desktop Memory frame: the approved direction is presented as a quiet macOS workspace. */
.app-shell{min-height:calc(100vh - 42px)}.sidebar{min-height:calc(100vh - 82px)}.workspace-grid{min-height:calc(100vh - 158px)}
@media(max-width:720px){.app-shell{min-height:100vh}.sidebar{min-height:auto}.workspace-grid{min-height:0}}
.skip-link{position:fixed;left:12px;top:8px;z-index:10;padding:8px 12px;border-radius:8px;background:var(--ink);color:var(--paper);transform:translateY(-150%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}
.article-row{transition:background .45s var(--ease),transform .45s var(--ease)}
.article-row{grid-template-columns:136px minmax(0,1fr) 58px}.thumb{width:136px;height:129px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.row-chevron{font-size:20px}.trash-button{width:30px;height:30px;border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:17px;line-height:1;opacity:.35;transition:opacity .25s var(--ease),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.article-row:hover .trash-button,.trash-button:focus-visible{opacity:1}.trash-button:hover{color:var(--ox);background:rgba(129,60,71,.1);border-color:var(--line)}.danger-button{color:var(--ox)}
@media(max-width:1050px){.article-row{grid-template-columns:115px minmax(0,1fr) 58px}.thumb{width:115px;height:113px}}
@media(max-width:720px){.article-row{grid-template-columns:92px minmax(0,1fr) 54px}.thumb{width:92px;height:92px}}
.library-heading-actions{display:flex;align-items:end;gap:12px}.empty-trash-button{border:1px solid var(--line-strong);border-radius:9px;padding:8px 11px;color:var(--ox);font-size:13px;background:rgba(255,255,255,.22);transition:transform .3s var(--ease),background .3s var(--ease)}.empty-trash-button:hover{transform:translateY(-1px);background:rgba(129,60,71,.1)}
h1,h2{ text-wrap:balance }
html{color-scheme:light}body{touch-action:manipulation;-webkit-tap-highlight-color:rgba(129,60,71,.18);overflow-x:hidden}.modal{overscroll-behavior:contain}
body.dark{color-scheme:dark}
.workspace-grid{grid-template-columns:minmax(360px,var(--library-width,55%)) 12px minmax(330px,1fr)}
.column-splitter{position:relative;width:12px;height:100%;padding:0;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);background:transparent;cursor:col-resize;touch-action:none;z-index:3}
.column-splitter span{position:absolute;left:4px;top:50%;width:3px;height:54px;border-radius:999px;background:var(--line-strong);transform:translateY(-50%);transition:background .2s ease,height .2s ease}
.column-splitter:hover span,.column-splitter:focus-visible span{height:76px;background:var(--ox)}
body.is-resizing{cursor:col-resize;user-select:none}.column-splitter[aria-valuenow="55"]{}
@media(max-width:1050px){.workspace-grid{grid-template-columns:1fr}.column-splitter{display:none}}
.summary-box{border:1px solid var(--line);border-radius:12px;padding:18px 20px;background:rgba(255,255,255,.3);margin:22px 0 4px}.summary-heading{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.summary-box ul{margin:0;padding-left:20px;color:var(--ink);font-size:15px;line-height:1.55}.summary-box li+li{margin-top:9px}body.dark .summary-box{background:rgba(255,255,255,.06)}
.category-choice{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer}.category-delete{width:30px;height:30px;border-radius:8px;color:var(--muted);font-size:22px;line-height:1;display:grid;place-items:center;transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}.category-delete:hover{background:rgba(129,60,71,.12);color:var(--ox);transform:scale(1.05)}

.desktop-bar{height:42px;display:flex;align-items:center;padding:0 30px;color:var(--ink);background:rgba(220,232,219,.72);backdrop-filter:blur(12px)}.desktop-status{display:flex;align-items:center;gap:20px;font-size:17px}.desktop-status-icon{font-size:16px;color:var(--ink)}.desktop-clock{font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}body.dark .desktop-bar{background:rgba(18,37,31,.84)}@media(max-width:720px){.desktop-bar{display:none}}

/* Category creation controls */
.dot{background:var(--dot-color,var(--sage-deep))}
.new-category-panel{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.2)}
.new-category-panel[hidden]{display:none}
.new-category-panel>.field-label:first-child{margin-top:0}
.color-label{margin-top:18px}
.color-options{display:flex;align-items:center;flex-wrap:wrap;gap:11px}
.color-swatch{width:36px;height:36px;padding:0;border:2px solid transparent;border-radius:50%;background:var(--swatch-color);box-shadow:0 2px 6px rgba(23,55,46,.16);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.color-swatch:hover{transform:scale(1.08)}
.color-swatch.selected{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink);transform:scale(1.08)}
.color-swatch:focus-visible{outline:3px solid color-mix(in srgb,var(--ox) 70%,white);outline-offset:4px}
.new-category-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.new-category-actions .secondary-button,.new-category-actions .primary-button{padding:10px 16px}
body.dark .new-category-panel{background:rgba(255,255,255,.05)}
