diff --git a/chat.html b/chat.html index 0f8cf04..ec05099 100644 --- a/chat.html +++ b/chat.html @@ -16,35 +16,24 @@ --text-user: HighlightText; --border-color: #aaa; } - @media (prefers-color-scheme: dark) { :root { --bg-secondary: #555; --bg-input: #444; } } - *, *::before, *::after { box-sizing: border-box; font-family: inherit; } - body { margin: 0; - /* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; */ font-family: "JetBrains Mono", Consolas, Menlo, monospace; line-height: 1.6; - font-size: 14px; - /* color: var(--text-primary); */ + font-size: 16px; } - - a { - color: var(--text-user); - text-decoration: none; - } - .chat-container { height: 100vh; display: grid; @@ -52,62 +41,36 @@ grid-template-rows: 1fr min-content; gap: 1rem; padding: 1rem; - grid-template-areas: - "messages messages" - "prompt submit"; + grid-template-areas: "messages messages" "prompt submit"; } - .messages { grid-area: messages; overflow-y: auto; padding-right: 0.5rem; } - .message { padding: 0.8rem 1.2rem; border-radius: 0.8rem; max-width: 85%; - } - - textarea, - button { - font-size: inherit; - font-family: inherit; - appearance: none; - } - - .button { - text-transform: uppercase; - letter-spacing: 0.05em; - } - - .message + .message { margin-top: 1rem; } - - .user-message { + .user-message > div { color: var(--text-user); background: var(--bg-user-message); margin-left: auto; white-space: pre-wrap; } - .system-message { background: var(--bg-secondary); margin-right: auto; } - - .system-message pre, - .system-message code:not(pre code) { - font-family: menlo, consolas, monospace; - background: var(--bg-code); - border-radius: 0.4rem; - } .system-message pre { position: relative; padding: 0.5rem 2.5rem 0.5rem 0.5rem; - white-space: pre; + background: var(--bg-code); + border-radius: 0.4rem; overflow-x: auto; + white-space: pre; } .copy-btn { position: absolute; @@ -121,107 +84,63 @@ font-size: 0.9em; cursor: pointer; opacity: 0.6; - transition: opacity 0.2s; - z-index: 2; } .copy-btn:hover { opacity: 1; } - - .system-message code { - padding: 2px 4px; - } - .prompt { grid-area: prompt; min-height: 40px; padding: 0.8rem; - border: none; + border: 1px solid var(--border-color); border-radius: 0.4rem; - /* background: var(--bg-input); */ - /* color: var(--text-primary); */ resize: vertical; + font-size: 1rem; } - .submit { + font-size: 1rem; grid-area: submit; cursor: pointer; padding: 0.8rem 2rem; background: var(--bg-secondary); - /* color: var(--text-primary); */ border: none; border-radius: 0.4rem; - transition: background-color 0.2s ease; + transition: background-color 0.2s; } - .submit:hover { background: var(--bg-user-message); } - - /* Scrollbar styling */ - .messages::-webkit-scrollbar { - width: 4px; - } - - .messages::-webkit-scrollbar-track { - background: var(--bg-primary); - } - - .messages::-webkit-scrollbar-thumb { - background: var(--border-color); - border-radius: 4px; - } - - /* Focus styles */ - .prompt:focus, - .submit:focus { - outline: none; - border-color: var(--bg-user-message); - } - - .submit { - anchor-name: --submit; - } - @keyframes pulse { 20% { opacity: 0.8; } } - .submit.busy { - animation: both pulse 1s; + animation: both pulse 1s infinite; } - - #model-selector { - user-select: none; - position: absolute; - top: 1rem; - left: 1rem; - opacity: 0.3; - padding: 0.5rem; - } - #model-selector:is(:hover, [open]) { - opacity: 1; - } - - /* History panel (mirrors model selector behavior) */ + #model-selector, #history-panel { position: absolute; - user-select: none; top: 1rem; - right: 1rem; opacity: 0.3; padding: 0.5rem; + cursor: pointer; } + #model-selector { + left: 1rem; + } + #history-panel { + right: 1rem; + } + #model-selector:is(:hover, [open]), #history-panel:is(:hover, [open]) { opacity: 1; } - - #history-panel summary { - font-weight: bold; + .history-list { + min-width: 220px; + max-width: 320px; + padding-top: 0.5rem; } - .history-item { cursor: pointer; padding: 0.25rem 0.2rem; @@ -230,509 +149,270 @@ gap: 0.5rem; align-items: center; } - .history-item:hover { background: rgba(0, 0, 0, 0.05); } - - /* History list classes */ - .history-list { - min-width: 220px; - max-width: 320px; - padding-top: 0.5rem; - } - - .history-none { - opacity: 0.7; - } - .history-time { font-weight: 700; } .history-time::after { content: " - "; } - .history-excerpt { - /* margin-left: 6px; */ - /* display: inline-block; */ - max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - vertical-align: middle; + max-width: 220px; } - - #model-selector summary { - font-weight: bold; - } - - .model-opt__label { - display: block; - } - - details { - cursor: pointer; - } - - blockquote { - padding: 1rem; - margin: 1rem 0; - background-color: rgba(0, 0, 0, 0.1); - border-left: 3px solid dodgerblue; - } - - blockquote > p + p { - margin: 1em 0 0 0; - } - - blockquote > p:only-child { - margin: 0; - } - - ul { - padding-left: 1rem; - } - - td { - vertical-align: top; - } - th { - vertical-align: top; - } - - tr:nth-child(odd) { - background-color: rgba(0, 0, 0, 0.05); + [x-cloak] { + display: none !important; }
-