v0.17.21: dot-matrix sprocket holes on outer edges + paper grain background
This commit is contained in:
@@ -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
@@ -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; }
|
||||||
|
|||||||
Reference in New Issue
Block a user