:root { --pane-bar-height: 2.75rem; --pane-bar-bg: #e8dcc8; --grid-line: rgba(104, 84, 59, 0.16); color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f4f1ea; color: #1d2528; } html, body { height: 100%; overflow: hidden; } body { display: flex; flex-direction: column; margin: 0; } .topbar { align-items: center; background: #17313b; color: #fffaf0; display: grid; flex: 0 0 auto; gap: 0; grid-template-columns: max-content 1fr; padding: 0; } .brandline { align-items: center; display: flex; gap: 0.55rem; padding: 0.38rem 0.8rem; } .eyebrow { color: #e2b66a; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; margin: 0 0 0.18rem; text-transform: uppercase; } h1 { font-size: clamp(1.2rem, 2vw, 1.75rem); line-height: 1; margin: 0; } .toolbar { align-items: center; align-self: stretch; background: #d9c9ad; display: flex; gap: 0.45rem; min-width: 0; padding: 0.32rem 0.6rem; } .filter { align-items: end; display: flex; gap: 0.35rem; } .filter label { color: #304149; display: grid; font-size: 0.68rem; gap: 0.08rem; } .filter select, .filter input { border: 0; border-radius: 999px; font: inherit; padding: 0.32rem 0.62rem; } .filter input { width: 9rem; } .filter button { background: #17313b; border: 0; border-radius: 999px; color: #fffaf0; cursor: pointer; font: inherit; font-weight: 700; padding: 0.32rem 0.7rem; } .view-toggle { background: rgba(23, 49, 59, 0.12); border: 1px solid rgba(23, 49, 59, 0.18); border-radius: 999px; display: flex; padding: 0.12rem; } .view-toggle a { border-radius: 999px; color: #17313b; font-size: 0.76rem; padding: 0.3rem 0.58rem; text-decoration: none; } .view-toggle a.selected { background: #17313b; color: #fffaf0; } .feed { --artifacts-width: 280px; --days-width: 144px; display: grid; flex: 1 1 auto; grid-template-columns: var(--days-width) 1px var(--artifacts-width) 1px minmax(0, 1fr); min-height: 0; overflow: hidden; } .day-sidebar, .artifact-sidebar, .preview-pane { min-width: 0; padding: 0; } .day-sidebar, .artifact-sidebar { min-height: 0; overflow-x: hidden; scrollbar-color: transparent transparent; scrollbar-width: none; } .day-sidebar { display: flex; flex-direction: column; overflow-y: hidden; } .artifact-sidebar { display: flex; flex-direction: column; overflow-y: hidden; padding: 0; } .day-list, .artifact-list { min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-color: transparent transparent; scrollbar-width: none; } .day-sidebar:hover .day-list, .artifact-sidebar:hover .artifact-list { scrollbar-color: rgba(23, 49, 59, 0.35) transparent; scrollbar-width: thin; } .day-list::-webkit-scrollbar, .artifact-list::-webkit-scrollbar { width: 0; } .day-sidebar:hover .day-list::-webkit-scrollbar, .artifact-sidebar:hover .artifact-list::-webkit-scrollbar { width: 6px; } .day-list::-webkit-scrollbar-thumb, .artifact-list::-webkit-scrollbar-thumb { background: rgba(23, 49, 59, 0.35); border-radius: 999px; } .day-list::-webkit-scrollbar-track, .artifact-list::-webkit-scrollbar-track { background: transparent; } .day-sidebar { background: #ebe4d5; } .artifact-sidebar { background: #f8f2e7; } .preview-pane { align-items: stretch; display: flex; flex-direction: column; justify-content: flex-start; min-height: 0; padding: 0; } .splitter { background: #d9c9ad; cursor: col-resize; position: relative; touch-action: none; } .splitter::after { background: transparent; bottom: 0; content: ""; left: -4px; position: absolute; right: -4px; top: 0; } .splitter:hover, .is-resizing .splitter { background: #a98d5e; } .is-resizing { cursor: col-resize; user-select: none; } .day-sidebar h2, .pane-heading h2 { color: #68543b; font-size: 0.68rem; letter-spacing: 0.1em; margin: 0; text-transform: uppercase; } .day-list, .artifact-list { display: grid; } .day-list { align-content: start; flex: 1 1 auto; gap: 0.35rem; padding: 0.55rem; } .day-link, .artifact-row { color: inherit; text-decoration: none; } .day-link { border-radius: 6px; display: grid; gap: 0.1rem; padding: 0.48rem; } .day-link:hover, .day-link.selected { background: #fffaf0; box-shadow: 0 10px 24px rgba(57, 44, 28, 0.08); } .day-link:focus-visible { outline: 2px solid #e2b66a; outline-offset: 2px; } .day-link.selected { background: #17313b; color: #fffaf0; } .day-link.selected span, .day-link.selected strong { color: #fffaf0; } .day-link.selected .today-badge { background: #b9e8bf; color: #17313b; } .day-link span, .pane-heading span, .artifact-time { color: #7b6b55; font-size: 0.7rem; } .today-badge { background: #cfe9cf; border-radius: 999px; color: #245238; display: inline-block; font-size: 0.62rem; font-style: normal; font-weight: 500; margin-left: 0.35rem; padding: 0.08rem 0.38rem; } .day-link strong { color: #17313b; font-size: 0.82rem; } .pane-bar { align-items: baseline; background: var(--pane-bar-bg); box-sizing: border-box; display: flex; flex: 0 0 var(--pane-bar-height); gap: 0.55rem; height: var(--pane-bar-height); justify-content: space-between; margin: 0; min-height: var(--pane-bar-height); padding: 0 0.65rem; } .pane-heading, .preview-actions { border-bottom: 1px solid #c7b48f; } .day-sidebar .pane-bar, .artifact-sidebar .pane-bar { align-items: center; justify-content: center; text-align: center; } .artifact-sidebar .pane-heading { flex-direction: column; gap: 0.04rem; } .new-artifacts-banner { background: #245238; border: 0; border-radius: 999px; color: #f6fff2; cursor: pointer; display: block; font: inherit; font-size: 0.76rem; font-weight: 700; margin: 0 0.55rem 0.5rem; padding: 0.48rem 0.7rem; text-align: center; width: calc(100% - 1.1rem); } .new-artifacts-banner[hidden] { display: none; } .new-artifacts-banner:hover { background: #17313b; } .artifact-list { align-content: start; flex: 1 1 auto; } .artifact-row { align-items: stretch; background: #fffaf0; border: 0; border-bottom: 1px solid var(--grid-line); border-radius: 0; display: grid; gap: 0; grid-template-columns: 3.15rem minmax(0, 1fr) 2.6rem; min-height: 2.7rem; overflow: hidden; padding: 0; } .artifact-row:hover { background: #fff6e5; box-shadow: none; } .artifact-row:focus-visible { outline: 0; box-shadow: inset 0 0 0 1px #e2b66a; } .artifact-row.selected { background: #17313b; color: #fffaf0; } .artifact-row.selected .artifact-time { background: #10262f; } .artifact-row.selected .artifact-row-main span, .artifact-row.selected .artifact-time { color: #fffaf0; } .artifact-row.selected .kind-icon { background: rgba(255, 250, 240, 0.12); color: #fffaf0; } .kind-icon { align-items: center; background: rgba(23, 49, 59, 0.035); color: #657173; display: inline-flex; font-size: 0.56rem; font-weight: 800; justify-content: center; letter-spacing: 0.04em; line-height: 1; padding: 0 0.42rem; white-space: nowrap; } .kind-image { color: #265336; } .kind-pdf { color: #78352f; } .kind-markdown { color: #443265; } .kind-deck { color: #6e4a12; } .artifact-row-main { align-items: center; border-right: 1px solid var(--grid-line); display: flex; min-width: 0; padding: 0.42rem 0.55rem; } .artifact-row-main span { -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #17313b; display: -webkit-box; font-size: 0.86rem; overflow: hidden; } .artifact-time { align-items: center; background: #efe5d3; border-right: 1px solid var(--grid-line); display: flex; justify-content: flex-end; justify-self: stretch; line-height: 1; padding: 0 0.48rem; text-align: right; white-space: nowrap; } .empty { background: #fffaf0; border-radius: 16px; padding: 1.2rem; } .empty.compact { padding: 1rem; } .empty.compact h3, .preview-empty h2 { margin-top: 0; } .preview-empty { max-width: 34rem; } kbd { background: #ebe4d5; border: 1px solid #d3c3a7; border-radius: 4px; color: #17313b; font: 0.85em ui-monospace, SFMono-Regular, Consolas, monospace; padding: 0.08rem 0.28rem; } .preview-body { align-items: stretch; display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; } .preview-body > .preview-empty { align-self: center; margin: auto; } .preview-frame-wrap { align-items: center; display: flex; flex: 1; justify-content: center; min-height: 0; } .preview-actions { align-items: center; background: var(--pane-bar-bg); display: flex; flex: 0 0 auto; gap: 0.75rem; justify-content: space-between; justify-content: space-between; } .preview-title { color: #17313b; flex: 1 1 auto; font-size: 0.78rem; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .preview-actions .view-toggle, .preview-actions .artifact-action-links { flex: 0 0 auto; } .artifact-action-links { align-items: center; display: flex; gap: 0.35rem; } .artifact-action-links a, .artifact-action-links button { background: #fffaf0; border: 1px solid rgba(23, 49, 59, 0.14); border-radius: 999px; color: #17313b; cursor: pointer; font: inherit; font-size: 0.76rem; line-height: 1; padding: 0.42rem 0.65rem; text-decoration: none; } .view-toggle a.disabled, .artifact-action-links a.disabled { cursor: not-allowed; opacity: 0.48; pointer-events: none; } .artifact-action-links button:disabled { cursor: not-allowed; opacity: 0.48; } .preview-frame { background: #fff; border: 0; height: 100%; width: 100%; } .preview-image { background: #fff; max-height: 100%; max-width: 100%; object-fit: contain; } @media (max-width: 720px) { html, body { height: auto; overflow: auto; } .topbar { align-items: stretch; grid-template-columns: 1fr; } .toolbar, .filter, .preview-actions { align-items: stretch; flex-wrap: wrap; } .feed { grid-template-columns: 1fr; overflow: visible; } .splitter { display: none; } .day-sidebar, .artifact-sidebar { border-bottom: 1px solid #d9c9ad; border-right: 0; max-height: 32vh; } }