:root { --pane-bar-height: 2.75rem; --app-bg: #f6f7f9; --surface: #ffffff; --surface-alt: #f8f9fb; --pane-bar-bg: #ffffff; --grid-line: #dde1e7; --text: #2f343d; --muted: #7b8491; --selected-day-bg: #3d4552; --selected-artifact-bg: #eaf3ff; --selected-artifact-rail: #dcecff; --control-border: #d9dee6; color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--app-bg); color: var(--text); } html, body { height: 100%; overflow: hidden; } body { display: flex; flex-direction: column; margin: 0; } .topbar { align-items: center; background: var(--surface-alt); border-bottom: 1px solid var(--grid-line); color: var(--text); 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: var(--muted); 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: var(--surface-alt); 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: var(--muted); display: grid; font-size: 0.68rem; gap: 0.08rem; } .filter select, .filter input { background: var(--surface); border: 1px solid var(--control-border); border-radius: 4px; color: var(--text); font: inherit; padding: 0.32rem 0.62rem; } .filter input { width: 9rem; } .filter button { background: #3d4552; border: 1px solid #343b46; border-radius: 4px; color: #ffffff; cursor: pointer; font: inherit; font-weight: 700; padding: 0.32rem 0.7rem; } .view-toggle { background: #f0f2f5; border: 1px solid var(--control-border); border-radius: 4px; display: flex; padding: 0.12rem; } .view-toggle a { border-radius: 3px; color: var(--text); font-size: 0.76rem; padding: 0.3rem 0.58rem; text-decoration: none; } .view-toggle a.selected { background: #3d4552; color: #ffffff; } .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(61, 69, 82, 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(61, 69, 82, 0.35); border-radius: 999px; } .day-list::-webkit-scrollbar-track, .artifact-list::-webkit-scrollbar-track { background: transparent; } .day-sidebar { background: var(--surface-alt); } .artifact-sidebar { background: var(--surface); } .preview-pane { align-items: stretch; display: flex; flex-direction: column; justify-content: flex-start; min-height: 0; padding: 0; } .splitter { background: var(--grid-line); 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: #b8c0cc; } .is-resizing { cursor: col-resize; user-select: none; } .day-sidebar h2, .pane-heading h2 { color: var(--text); 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: var(--surface); box-shadow: none; } .day-link:focus-visible { outline: 2px solid #8ab4f8; outline-offset: 2px; } .day-link.selected { background: var(--selected-day-bg); color: #ffffff; } .day-link.selected span, .day-link.selected strong { color: #ffffff; } .day-link.selected .today-badge { background: #d8f1df; color: #28583a; } .day-link span, .pane-heading span, .artifact-time { color: var(--muted); font-size: 0.7rem; } .today-badge { background: #d8f1df; 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: var(--text); 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 var(--grid-line); } .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: #eaf3ff; border: 0; border-radius: 999px; color: #315a8a; 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: #dcecff; } .artifact-list { align-content: start; flex: 1 1 auto; } .artifact-row { align-items: stretch; background: var(--surface); 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: #f6f9fd; box-shadow: none; } .artifact-row:focus-visible { outline: 0; box-shadow: inset 0 0 0 1px #8ab4f8; } .artifact-row.selected { background: var(--selected-artifact-bg); color: var(--text); } .artifact-row.selected .artifact-time { background: var(--selected-artifact-rail); } .artifact-row.selected .artifact-row-main span, .artifact-row.selected .artifact-time { color: var(--text); } .artifact-row.selected .kind-icon { background: #dbeaff; color: #315a8a; } .kind-icon { align-items: center; background: #f1f3f6; color: #5f6875; 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: var(--text); display: -webkit-box; font-size: 0.86rem; overflow: hidden; } .artifact-time { align-items: center; background: #f3f5f7; 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: var(--surface); 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: #f0f2f5; border: 1px solid var(--control-border); border-radius: 4px; color: var(--text); 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: var(--text); 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: var(--surface); border: 1px solid var(--control-border); border-radius: 4px; color: var(--text); 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; } }