v0.17.21: dot-matrix sprocket holes on outer edges + paper grain background

This commit is contained in:
gramps
2026-07-13 10:11:01 -07:00
parent 8fdeca0e3c
commit 4443c8064f
2 changed files with 11 additions and 8 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ import logging
log = logging.getLogger("caic") log = logging.getLogger("caic")
VERSION = "v0.17.20" VERSION = "v0.17.21"
OLLAMA_BASE = os.environ.get("OLLAMA_BASE", "http://localhost:11434") OLLAMA_BASE = os.environ.get("OLLAMA_BASE", "http://localhost:11434")
LLAMA_SERVER_BASE = os.environ.get("LLAMA_SERVER_BASE", "http://192.168.50.108:8081") LLAMA_SERVER_BASE = os.environ.get("LLAMA_SERVER_BASE", "http://192.168.50.108:8081")
SEARXNG_BASE = "http://localhost:8888" SEARXNG_BASE = "http://localhost:8888"
+10 -7
View File
@@ -78,8 +78,11 @@ body { font-family: var(--font-body); background: var(--bg-primary); color: var(
.cluster-dot.error { background:var(--danger); } .cluster-dot.error { background:var(--danger); }
.cluster-dot.offline { background:var(--danger); } .cluster-dot.offline { background:var(--danger); }
.main { flex:1; display:flex; flex-direction:column; height:100vh; min-width:0; } .main { flex:1; display:flex; flex-direction:column; height:100vh; min-width:0; position:relative; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:8px 16px; border-bottom:1px solid var(--border); background:var(--bg-secondary); flex-shrink:0; gap:12px; } .main::before, .main::after { content:''; position:absolute; top:0; bottom:0; width:22px; z-index:1; pointer-events:none; background:var(--bg-secondary); background-image:radial-gradient(circle at 11px 14px, rgba(0,0,0,0.12) 2px, transparent 2px),radial-gradient(circle at 11px 14px, transparent 4px, var(--bg-secondary) 4.5px); background-size:22px 28px; background-repeat:repeat-y; border:1px solid var(--border); }
.main::before { left:0; border-left:none; border-radius:0 4px 4px 0; box-shadow:2px 0 4px rgba(0,0,0,0.06); }
.main::after { right:0; border-right:none; border-radius:4px 0 0 4px; box-shadow:-2px 0 4px rgba(0,0,0,0.06); }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:8px 28px; border-bottom:1px solid var(--border); background:var(--bg-secondary); flex-shrink:0; gap:12px; }
.topbar-left { display:flex; align-items:center; gap:10px; min-width:0; } .topbar-left { display:flex; align-items:center; gap:10px; min-width:0; }
.topbar-center { display:flex; align-items:center; gap:12px; font-size:12px; font-family:var(--font-mono); color:var(--text-muted); } .topbar-center { display:flex; align-items:center; gap:12px; font-size:12px; font-family:var(--font-mono); color:var(--text-muted); }
.tc-item { white-space:nowrap; } .tc-item { white-space:nowrap; }
@@ -147,7 +150,7 @@ body { font-family: var(--font-body); background: var(--bg-primary); color: var(
.skill-risk { display:inline-block; margin-left:8px; padding:1px 6px; border-radius:10px; font-size:10px; text-transform:uppercase; border:1px solid var(--border); color:var(--text-secondary); } .skill-risk { display:inline-block; margin-left:8px; padding:1px 6px; border-radius:10px; font-size:10px; text-transform:uppercase; border:1px solid var(--border); color:var(--text-secondary); }
.skill-item.disabled .skill-meta { opacity:0.6; } .skill-item.disabled .skill-meta { opacity:0.6; }
.chat-container { flex:1; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:8px; } .chat-container { flex:1; overflow-y:auto; padding:20px 30px; display:flex; flex-direction:column; gap:8px; background-image:radial-gradient(rgba(255,255,255,0.015) 1px, transparent 1px); background-size:24px 24px; }
.msg-pair { display:flex; flex-direction:column; gap:8px; border-radius:var(--radius); padding:12px 12px 8px; border-left:3px solid transparent; } .msg-pair { display:flex; flex-direction:column; gap:8px; border-radius:var(--radius); padding:12px 12px 8px; border-left:3px solid transparent; }
.msg-pair:nth-child(odd) { background:rgba(255,255,255,0.015); border-left-color:rgba(0,136,187,0.25); } .msg-pair:nth-child(odd) { background:rgba(255,255,255,0.015); border-left-color:rgba(0,136,187,0.25); }
.msg-pair:nth-child(even) { background:rgba(255,255,255,0.035); border-left-color:rgba(243,156,18,0.25); } .msg-pair:nth-child(even) { background:rgba(255,255,255,0.035); border-left-color:rgba(243,156,18,0.25); }
@@ -200,7 +203,7 @@ body { font-family: var(--font-body); background: var(--bg-primary); color: var(
.msg-toolbar .sep { width:1px; height:14px; background:var(--border); margin:0 4px; } .msg-toolbar .sep { width:1px; height:14px; background:var(--border); margin:0 4px; }
.msg-toolbar .toolbar-label { font-size:10px; font-family:var(--font-mono); color:var(--text-muted); margin-right:4px; } .msg-toolbar .toolbar-label { font-size:10px; font-family:var(--font-mono); color:var(--text-muted); margin-right:4px; }
.input-area { padding:16px 20px; border-top:1px solid var(--border); background:var(--bg-secondary); } .input-area { padding:16px 28px; border-top:1px solid var(--border); background:var(--bg-secondary); }
.input-row { max-width:900px; margin:0 auto; display:flex; gap:10px; align-items:flex-end; } .input-row { max-width:900px; margin:0 auto; display:flex; gap:10px; align-items:flex-end; }
.input-row textarea { flex:1; background:var(--bg-tertiary); border:1px solid var(--border); color:var(--text-primary); font-family:var(--font-body); font-size:14px; padding:12px 14px; border-radius:var(--radius); resize:none; min-height:44px; max-height:200px; line-height:1.5; } .input-row textarea { flex:1; background:var(--bg-tertiary); border:1px solid var(--border); color:var(--text-primary); font-family:var(--font-body); font-size:14px; padding:12px 14px; border-radius:var(--radius); resize:none; min-height:44px; max-height:200px; line-height:1.5; }
.input-row textarea:focus { outline:none; border-color:var(--accent-dim); } .input-row textarea:focus { outline:none; border-color:var(--accent-dim); }
@@ -258,9 +261,9 @@ body { font-family: var(--font-body); background: var(--bg-primary); color: var(
.raw-results small { color:var(--text-muted); display:block; margin-top:2px; } .raw-results small { color:var(--text-muted); display:block; margin-top:2px; }
@media (max-width:768px) { @media (max-width:768px) {
.topbar { padding:10px 14px; } .topbar { padding:10px 32px; }
.chat-container { padding:12px; } .chat-container { padding:12px 28px; }
.input-area { padding:10px 12px; } .input-area { padding:10px 28px; }
} }
.auth-screen { position: fixed; inset: 0; width: 100%; height: 100vh; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,0.62); z-index: 3000; } .auth-screen { position: fixed; inset: 0; width: 100%; height: 100vh; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,0.62); z-index: 3000; }