:root{--bg: #ffffff;--fg: #1f1f1f;--muted: #5f6368;--border: #dadce0;--card: #f8f9fa;--accent: #1a73e8;--error: #c62828;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #1e1e1e;--fg: #e8e8e8;--muted: #a0a0a0;--border: #3c4043;--card: #2a2a2a;--accent: #8ab4f8;--error: #ef9a9a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px system-ui,sans-serif}button,select{padding:8px 12px;font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--border);border-radius:6px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.muted{color:var(--muted)}.error{color:var(--error)}.center{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:12px;padding:16px;text-align:center}.shell{height:100dvh;display:flex;flex-direction:column}.shell header{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--border)}.brand{font-size:16px;margin-right:8px}.spacer{flex:1}button.icon{width:36px;padding:6px 0;font-size:16px;line-height:1}.layout{flex:1;min-height:0;display:grid;grid-template-columns:var(--sidebar-w) 6px minmax(0,1fr)}.layout.collapsed{grid-template-columns:minmax(0,1fr)}.layout.collapsed .sidebar{display:none}.sidebar{overflow:auto;background:var(--card);border-right:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.resizer{cursor:col-resize;touch-action:none;background:transparent}.resizer:hover,.resizer:focus-visible,.resizer:active{background:var(--accent);opacity:.5;outline:none}main{overflow:auto;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px}.navitem{display:flex;justify-content:space-between;align-items:baseline;gap:8px;text-align:left;border-color:transparent;background:transparent;overflow-wrap:anywhere}.navitem.sub{padding-left:20px;font-size:13px}.navitem:hover{background:var(--border)}.navitem.on{background:var(--bg);border-color:var(--border);font-weight:600}.navhead{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:0 4px 0 12px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.navhead .icon{width:28px;padding:2px 0}.newproject{display:grid;gap:6px;padding:4px}.newproject input{width:100%;padding:8px;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px}.newproject .row{display:flex;gap:6px}.small{font-size:12px;margin:4px 8px}.backdrop{display:none}@media(max-width:768px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:min(85vw,320px);padding-top:env(safe-area-inset-top);transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none;box-shadow:0 0 24px #0006}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#0006}.resizer{display:none}}.toolbar{display:flex;align-items:center;justify-content:space-between}.toolbar h2{font-size:18px;margin:8px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:8px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.card img,.card .noimg{width:100%;height:160px;object-fit:cover;display:block;background:var(--border)}.card .body{padding:10px 12px;flex:1;display:flex;flex-direction:column}.card .meta{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.badge{padding:1px 6px;border:1px solid var(--border);border-radius:999px}.card h3{font-size:14px;font-weight:600;margin:0 0 2px;overflow-wrap:anywhere}.card .site{font-size:12px;color:var(--muted);margin:2px 0;overflow-wrap:anywhere}.card .snippet{font-size:13px;margin:6px 0 0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card .snippet.note{-webkit-line-clamp:8}.card .snippet.quote{font-style:italic;border-left:3px solid var(--border);padding-left:8px}.card .open{display:inline-block;margin-top:8px;font-size:12px;color:var(--accent)}.card[draggable=true]{cursor:grab}.card .meta .grow{flex:1}.card .movebtn{padding:2px 8px;font-size:11px;margin-right:8px}.navitem.drop{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--bg)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000080;display:grid;place-items:end center}.modal{width:min(480px,100%);max-height:70dvh;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:12px 12px 0 0;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-list{overflow:auto;display:flex;flex-direction:column;gap:2px}@media(min-width:769px){.modal-backdrop{place-items:center}.modal{border-radius:12px}}.notice{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;max-width:min(90vw,560px);padding:10px 14px;background:var(--fg);color:var(--bg);border-radius:8px;font-size:13px}.notice.error{background:var(--error);color:#fff}main{overscroll-behavior-y:contain}.ptr{overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.ptr.settle{transition:height .2s}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.card.dragging{opacity:.35}.banner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--border);font-size:13px}
