agenttwin 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -15
- package/dist/api.js +796 -68
- package/dist/cli.js +693 -290
- package/dist/dashboard/assets/dashboard/agent-home.css +405 -0
- package/dist/dashboard/assets/dashboard/agent-home.js +264 -0
- package/dist/dashboard/assets/dashboard/dashboard.js +118 -133
- package/dist/dashboard/assets/dashboard/hosted.js +56 -17
- package/dist/dashboard/assets/dashboard/moonlit-coast.png +0 -0
- package/dist/dashboard/assets/dashboard/workflows.js +39 -0
- package/dist/dashboard/assets/dashboard/workspace.css +156 -0
- package/dist/dashboard/assets/vendor/dompurify.LICENSE +202 -0
- package/dist/dashboard/assets/vendor/marked.LICENSE +44 -0
- package/dist/dashboard/assets/vendor/marked.js +82 -0
- package/dist/dashboard/assets/vendor/purify.min.js +7 -0
- package/dist/dashboard/index.html +109 -32
- package/dist/gateway.js +798 -70
- package/package.json +1 -1
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
/* Agent home: dark command-center surface in the style of a desktop agent app.
|
|
2
|
+
Owns the Home view only; workspace views keep their existing theme. */
|
|
3
|
+
:root{--h-bg:#101013;--h-card:#161619;--h-card2:#1b1b1f;--h-line:#26262c;--h-line2:#313138;--h-ink:#ececee;--h-dim:#a3a6b0;--h-mut:#7e828d;--h-blue:#4c6fff;--h-bar:#3f66f5;--h-green:#3fbf7f;--h-red:#e5484d;--h-amber:#f2a33c;--h-orange:#e8833a}
|
|
4
|
+
html{scrollbar-color:#3a3a42 #101013}
|
|
5
|
+
body.view-home{background:var(--h-bg)}
|
|
6
|
+
body.view-home .brand,body.view-home .sidebar-toggle,body.view-home .workspace-name{display:none}
|
|
7
|
+
body.view-home .app-layout{grid-template-columns:minmax(0,1fr)}
|
|
8
|
+
body.view-home .app-nav{display:none}
|
|
9
|
+
body.view-home main{padding:0;max-width:none;background:var(--h-bg)}
|
|
10
|
+
body.view-home footer{display:none}
|
|
11
|
+
body.view-home .topbar{position:absolute;z-index:30;left:0;right:0;top:0;background:transparent;border:0;padding:10px 16px;display:flex;align-items:center;gap:8px}
|
|
12
|
+
body.view-home .account-control{margin-left:0}
|
|
13
|
+
body.view-home #api-message:not(:empty){position:relative;z-index:5;margin:68px 20px 0;background:#2a2320;border:1px solid #4a3a30;color:#e8d8c8}
|
|
14
|
+
.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
|
|
15
|
+
/* Top bar controls */
|
|
16
|
+
body:not(.view-home) .workspace-name{display:none}
|
|
17
|
+
/* Full-text view switcher: always rendered, on every page */
|
|
18
|
+
.home-switcher{display:inline-flex;align-items:center;gap:2px;border:1px solid #ffffff17;background:#141419a8;border-radius:12px;padding:3px;backdrop-filter:blur(14px)}
|
|
19
|
+
.home-switcher button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#a9adb8;border-radius:9px;padding:6px 12px;min-height:28px;font-size:13px;font-weight:500;white-space:nowrap;transition:background .12s ease,color .12s ease}
|
|
20
|
+
.home-switcher button:hover{background:#232330;color:#fff}
|
|
21
|
+
.home-switcher button.active{background:#232330;color:#fff}
|
|
22
|
+
.home-switcher button svg,.home-switcher button img{width:15px;height:15px;color:#fff;flex:none}
|
|
23
|
+
.home-switcher button img{filter:brightness(0) invert(1)}
|
|
24
|
+
.pill-count{min-width:17px;height:17px;padding:0 5px;display:inline-grid;place-items:center;background:#f2a33c;color:#16110a;border-radius:99px;font-size:10.5px;font-weight:600}
|
|
25
|
+
.home-menu{position:absolute;left:0;top:44px;min-width:210px;background:#1a1a20;border:1px solid #2c2c34;border-radius:12px;box-shadow:0 18px 50px #000a;padding:6px;z-index:40}
|
|
26
|
+
.home-menu[hidden]{display:none}
|
|
27
|
+
.home-menu button{display:flex;width:100%;align-items:center;gap:10px;text-align:left;border:0;background:transparent;border-radius:8px;min-height:34px;padding:7px 10px;font-size:13px;color:#c9ccd5}
|
|
28
|
+
.home-menu button img,.home-menu button svg{width:16px;height:16px;opacity:.8}
|
|
29
|
+
.home-menu button:hover{background:#26262e;color:#fff}
|
|
30
|
+
.home-menu button.active{background:#232330;color:#fff}
|
|
31
|
+
.home-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
|
|
32
|
+
.home-search{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff17;background:#141419a8;color:#9296a1;border-radius:10px;padding:6px 10px;min-height:34px;font-size:12.5px;backdrop-filter:blur(14px)}
|
|
33
|
+
.home-search:hover{color:#d6d8df;border-color:#ffffff2a}
|
|
34
|
+
.home-search svg{width:14px;height:14px}
|
|
35
|
+
.home-search kbd{font:11px var(--mono);color:#7f8390;border:1px solid #ffffff14;border-radius:5px;padding:1px 5px;background:#ffffff08}
|
|
36
|
+
.home-icon-btn{position:relative;display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid #ffffff17;background:#141419a8;color:#b9bcc6;border-radius:10px;backdrop-filter:blur(14px)}
|
|
37
|
+
.home-icon-btn:hover{background:#1d1d24b8;color:#fff}
|
|
38
|
+
.home-icon-btn svg{width:16px;height:16px}
|
|
39
|
+
.bell-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;background:var(--h-amber);color:#16110a;border-radius:99px;font-size:10px;font-weight:650}
|
|
40
|
+
.bell-badge:empty{display:none}
|
|
41
|
+
.home-bell-wrap{position:relative}
|
|
42
|
+
.bell-menu{left:auto;right:0;min-width:280px;padding:12px 8px 8px}
|
|
43
|
+
.bell-menu .menu-label{font-size:11px;color:var(--h-mut);margin:0 8px 8px}
|
|
44
|
+
.bell-item{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:8px;font-size:12.5px;color:#c9ccd5;text-align:left;width:100%;border:0;background:transparent}
|
|
45
|
+
.bell-item:hover{background:#26262e}
|
|
46
|
+
.bell-item .dot{width:7px;height:7px;border-radius:50%;background:var(--h-amber);flex:none;margin-top:5px}
|
|
47
|
+
.bell-item small{display:block;color:var(--h-mut);font-size:11px;margin-top:2px}
|
|
48
|
+
/* Hero */
|
|
49
|
+
.home-hero{position:relative;min-height:clamp(430px,58vh,560px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
|
|
50
|
+
#home-sky{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}
|
|
51
|
+
.home-hero::after{content:'';position:absolute;inset:auto 0 0 0;height:220px;background:linear-gradient(to bottom,transparent,var(--h-bg));pointer-events:none}
|
|
52
|
+
.hero-content{position:relative;z-index:2;text-align:center;padding:96px 20px 46px;width:min(560px,100%)}
|
|
53
|
+
.hero-content h1{font-size:clamp(21px,2.6vw,28px);font-weight:550;letter-spacing:-.5px;color:#fff;text-shadow:0 2px 22px #0009;margin-bottom:18px;text-wrap:balance}
|
|
54
|
+
.home-composer{text-align:left;background:#13131899;border:1px solid #ffffff1c;border-radius:16px;backdrop-filter:blur(18px);box-shadow:0 24px 70px #000a;overflow:hidden}
|
|
55
|
+
.composer-tabs{display:flex;align-items:center;gap:2px;padding:9px 10px;border-bottom:1px solid #ffffff10}
|
|
56
|
+
.composer-tab{border:0;background:transparent;color:#9296a1;font-size:12.5px;font-weight:500;min-height:26px;padding:3px 10px;border-radius:7px}
|
|
57
|
+
.composer-tab+.composer-tab{border-left:1px solid #ffffff12;border-radius:0 7px 7px 0}
|
|
58
|
+
.composer-tab:hover{color:#d6d8df}
|
|
59
|
+
.composer-tab.active{color:#fff}
|
|
60
|
+
.composer-tab span{color:#7e828d;font-weight:450}
|
|
61
|
+
.composer-spacer{flex:1}
|
|
62
|
+
.composer-mini{color:#7f8390;display:grid;place-items:center}
|
|
63
|
+
.composer-mini svg{width:15px;height:15px}
|
|
64
|
+
#composer-input{display:block;width:100%;background:transparent;border:0;padding:14px 16px 8px;color:var(--h-ink);font:13.5px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;resize:none;outline:none}
|
|
65
|
+
#composer-input::placeholder{color:#71747f}
|
|
66
|
+
.composer-row{display:flex;align-items:center;gap:6px;padding:4px 8px 8px;flex-wrap:wrap}
|
|
67
|
+
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff14;background:#ffffff0a;color:#c4c7d0;border-radius:9px;padding:4px 9px;min-height:28px;font-size:12px;font-weight:450}
|
|
68
|
+
.chip svg{width:13px;height:13px;color:#8b8e98}
|
|
69
|
+
.chip .chevron{width:11px;height:11px;color:#7f8390}
|
|
70
|
+
.chip:hover{background:#ffffff14;color:#fff}
|
|
71
|
+
.chip.strong{color:#e8e9ee}
|
|
72
|
+
.chip.dot{border-style:dashed;cursor:default}
|
|
73
|
+
.chip.dot:hover{background:#ffffff0a;color:#c4c7d0}
|
|
74
|
+
.dot-dot{width:6px;height:6px;border-radius:50%;background:var(--h-green)}
|
|
75
|
+
.composer-flex{flex:1}
|
|
76
|
+
.composer-send{width:30px;height:30px;min-width:30px;min-height:30px;padding:0;display:grid;place-items:center;border-radius:9px;border:1px solid #ffffff1c;background:#ffffff17;color:#e8e9ee}
|
|
77
|
+
.composer-send:hover{background:#ffffff26}
|
|
78
|
+
.composer-send svg{width:14px;height:14px}
|
|
79
|
+
.composer-note{display:none;margin:0;padding:0 14px 10px;font-size:11.5px;color:#b7a98a;line-height:1.6}
|
|
80
|
+
.composer-note.show{display:block}
|
|
81
|
+
/* Widget grid */
|
|
82
|
+
.home-body{position:relative;z-index:2;max-width:1180px;width:100%;margin:0 auto;padding:6px 20px 56px}
|
|
83
|
+
.home-grid-head{display:flex;justify-content:flex-end;align-items:center;margin:2px 2px 10px}
|
|
84
|
+
.grid-hint{margin-right:auto;font-size:11px;color:#767a86;letter-spacing:.2px}
|
|
85
|
+
#home-customize{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#8b8e98;font-size:12px;min-height:28px;padding:4px 8px}
|
|
86
|
+
#home-customize:hover{color:#d6d8df}
|
|
87
|
+
#home-customize svg{width:14px;height:14px}
|
|
88
|
+
#home-customize[aria-pressed=true]{color:var(--h-blue)}
|
|
89
|
+
.home-widgets{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"working receipts" "sandbox receipts" "services failures"}
|
|
90
|
+
.area-working{grid-area:working}.area-receipts{grid-area:receipts}.area-sandbox{grid-area:sandbox}.area-services{grid-area:services}.area-failures{grid-area:failures}
|
|
91
|
+
.widget{background:var(--h-card);border:1px solid var(--h-line);border-radius:14px;padding:13px 16px 14px;min-width:0;overflow:hidden}
|
|
92
|
+
.widget>header{display:flex;align-items:center;gap:8px;margin-bottom:4px}
|
|
93
|
+
.widget h2{font-size:12.5px;font-weight:500;color:#d3d5db;letter-spacing:-.1px}
|
|
94
|
+
.w-ico{display:grid;place-items:center;color:#7e828d}
|
|
95
|
+
.w-ico svg{width:14px;height:14px}
|
|
96
|
+
.w-count{font-size:11.5px;color:#7e828d}
|
|
97
|
+
.w-count.warn{color:var(--h-amber)}
|
|
98
|
+
.w-head-meta{margin-left:auto;font-size:11px;color:#7e828d;display:inline-flex;align-items:center;gap:6px}
|
|
99
|
+
.w-head-spin{margin-left:auto;color:#9aa0ab;display:grid;place-items:center}
|
|
100
|
+
.w-head-spin svg{width:13px;height:13px}
|
|
101
|
+
.spin{animation:spin 1.1s linear infinite;transform-origin:center}
|
|
102
|
+
@keyframes spin{to{transform:rotate(360deg)}}
|
|
103
|
+
.w-body{padding-top:6px}
|
|
104
|
+
.w-empty{font-size:12px;color:var(--h-mut);line-height:1.7;padding:8px 0 4px}
|
|
105
|
+
/* Working now */
|
|
106
|
+
.task-row{display:flex;align-items:flex-start;gap:9px;padding:6px 0 2px}
|
|
107
|
+
.task-spin{color:var(--h-blue);flex:none;margin-top:2px;display:grid;place-items:center}
|
|
108
|
+
.task-spin svg{width:14px;height:14px}
|
|
109
|
+
.task-row strong{display:block;font-size:13px;font-weight:500;color:#e8e9ee}
|
|
110
|
+
.task-stat{color:#8b8e98;flex:none;margin-top:1px;display:grid;place-items:center}
|
|
111
|
+
.task-stat svg{width:14px;height:14px}
|
|
112
|
+
.task-row .w-when{margin-left:auto;font-size:11px;color:var(--h-amber);white-space:nowrap;display:inline-flex;gap:5px;align-items:center}
|
|
113
|
+
.task-row .w-when::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--h-orange)}
|
|
114
|
+
.task-row .w-when.quiet{color:#8b8e98}
|
|
115
|
+
.task-row .w-when.quiet::before{display:none}
|
|
116
|
+
.task-sub{margin:2px 0 0 23px;font:10.5px/1.6 var(--mono);color:#7f8390;overflow-wrap:anywhere}
|
|
117
|
+
.linklike{border:0;background:transparent;color:#9aa0ab;font:inherit;padding:0;min-height:0;text-decoration:underline;text-underline-offset:3px}
|
|
118
|
+
.linklike:hover{color:#fff}
|
|
119
|
+
/* Receipt rows (buttons styled as rows) */
|
|
120
|
+
.group-label{display:flex;align-items:center;gap:6px;font-size:11px;color:#8b8e98;margin:10px 0 2px}
|
|
121
|
+
.group-label b{font-weight:550}
|
|
122
|
+
.group-label.warn b{color:var(--h-amber)}
|
|
123
|
+
.group-label .g-spin{color:#8b8e98;display:grid}
|
|
124
|
+
.group-label .g-spin svg{width:11px;height:11px}
|
|
125
|
+
.review-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;margin:0 -10px;min-height:0;border:0;border-radius:8px;background:transparent;font:inherit;color:inherit;box-shadow:inset 0 -1px 0 #1f1f25;transition:background .12s ease}
|
|
126
|
+
.review-row:last-child{box-shadow:none}
|
|
127
|
+
.review-row:hover{background:#1d1d24}
|
|
128
|
+
.review-row .r-ico{color:#8b8e98;display:grid;flex:none}
|
|
129
|
+
.review-row .r-ico svg{width:13px;height:13px}
|
|
130
|
+
.review-row strong{font-size:12.5px;font-weight:450;color:#dcdee4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
|
|
131
|
+
.review-row:hover strong{color:#fff}
|
|
132
|
+
.review-row .ref{font:10px/1.4 var(--mono);color:#838792;background:#232329;border-radius:5px;padding:2px 6px;white-space:nowrap}
|
|
133
|
+
.review-row .r-status{font-size:11px;white-space:nowrap}
|
|
134
|
+
.review-row .r-status.passed{color:var(--h-green)}
|
|
135
|
+
.review-row .r-status.failed,.review-row .r-status.error{color:var(--h-red)}
|
|
136
|
+
.review-row .r-status.incomplete{color:#9296a1}
|
|
137
|
+
.review-row .r-time{font-size:10.5px;color:#7f8390;white-space:nowrap}
|
|
138
|
+
.ok-ico{color:var(--h-green)}.warn-ico{color:var(--h-amber)}.bad-ico{color:var(--h-red)}.neutral-ico{color:#7e828d}
|
|
139
|
+
/* Sandbox: recorded execution-environment facts */
|
|
140
|
+
.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding-top:8px}
|
|
141
|
+
.fact-item{min-width:0}
|
|
142
|
+
.fact-item span{display:block;font-size:9px;color:#7f8390;letter-spacing:.3px}
|
|
143
|
+
.fact-item b{display:block;margin-top:2px;font-size:11.5px;font-weight:450;color:#dcdee4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
144
|
+
/* Observed services: names and check results from receipts */
|
|
145
|
+
.service-row{display:flex;align-items:baseline;gap:9px;padding:8px 0;border-bottom:1px solid #1f1f25;font-size:12.5px}
|
|
146
|
+
.service-row:last-child{border-bottom:0}
|
|
147
|
+
.service-row strong{font-weight:450;color:#dcdee4}
|
|
148
|
+
.service-row .s-kind{flex:1;min-width:0;font-size:10.5px;color:#8b8e98;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
149
|
+
.service-row .runner{font:10.5px var(--mono);color:#7f8390;white-space:nowrap}
|
|
150
|
+
/* Failures */
|
|
151
|
+
.failure-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #1f1f25;font-size:12.5px}
|
|
152
|
+
.failure-row:last-child{border-bottom:0}
|
|
153
|
+
.failure-row .bad-ico{display:grid;flex:none}
|
|
154
|
+
.failure-row .bad-ico svg{width:13px;height:13px}
|
|
155
|
+
.failure-row strong{font-weight:450;color:#dcdee4;white-space:nowrap}
|
|
156
|
+
.failure-row .f-path{font:10.5px var(--mono);color:#7f8390;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
157
|
+
.failure-row .f-time{margin-left:auto;font-size:11px;color:#7e828d;white-space:nowrap}
|
|
158
|
+
/* Loop pill + note */
|
|
159
|
+
.home-loop{position:fixed;right:18px;bottom:18px;z-index:25;display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff17;background:#1a1a20e0;color:#c9ccd5;border-radius:999px;padding:8px 13px;min-height:36px;font-size:12.5px;backdrop-filter:blur(14px);box-shadow:0 10px 30px #0008}
|
|
160
|
+
.home-loop:hover{background:#22222ae8;color:#fff}
|
|
161
|
+
.home-loop svg{width:14px;height:14px;color:#8b8e98}
|
|
162
|
+
.home-loop .chevron{width:12px;height:12px}
|
|
163
|
+
.loop-note{position:fixed;right:18px;bottom:62px;z-index:25;max-width:300px;background:#1a1a20;border:1px solid #2c2c34;border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.65;color:#b9bcc6;box-shadow:0 18px 50px #000a}
|
|
164
|
+
/* Command palette */
|
|
165
|
+
.palette{position:fixed;inset:0;z-index:60;background:#0009;backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:16vh 20px 0}
|
|
166
|
+
.palette[hidden]{display:none}
|
|
167
|
+
.palette-panel{width:min(560px,100%);background:#1a1a20;border:1px solid #2e2e36;border-radius:14px;box-shadow:0 30px 80px #000c;overflow:hidden}
|
|
168
|
+
.palette-panel input{width:100%;background:transparent;border:0;border-bottom:1px solid #26262c;color:#ececee;font-size:14px;padding:15px 16px;outline:none}
|
|
169
|
+
.palette-list{max-height:300px;overflow:auto;padding:6px}
|
|
170
|
+
.palette-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:9px 10px;font-size:13px;color:#c9ccd5;min-height:36px}
|
|
171
|
+
.palette-item:hover,.palette-item.active{background:#26262e;color:#fff}
|
|
172
|
+
.palette-item small{margin-left:auto;font:10.5px var(--mono);color:#7f8390}
|
|
173
|
+
.palette-item svg,.palette-item img{width:15px;height:15px;opacity:.8}
|
|
174
|
+
.palette-empty{padding:16px;font-size:12.5px;color:#7e828d}
|
|
175
|
+
/* Compact density (Customize toggle) */
|
|
176
|
+
.home-widgets.compact .widget{padding:10px 13px 11px}
|
|
177
|
+
.home-widgets.compact .review-row,.home-widgets.compact .service-row,.home-widgets.compact .failure-row{padding:6px 10px}
|
|
178
|
+
/* Responsive */
|
|
179
|
+
@media(max-width:900px){.home-widgets{grid-template-columns:1fr;grid-template-areas:"working" "receipts" "sandbox" "services" "failures"}.home-hero{min-height:420px}.hero-content{padding-top:84px}}
|
|
180
|
+
@media(max-width:560px){body.view-home .topbar{padding:8px 10px}.home-search span{display:none}.home-search{padding:6px 8px}.home-search kbd{display:none}.home-body{padding:4px 12px 48px}.fact-grid{grid-template-columns:1fr}.home-switcher{max-width:calc(100vw - 150px);overflow-x:auto;scrollbar-width:none}.home-switcher::-webkit-scrollbar{display:none}.home-switcher button{font-size:12px;padding:5px 9px;gap:6px}}
|
|
181
|
+
@media(prefers-reduced-motion:reduce){.spin{animation:none}}
|
|
182
|
+
/* ---- Production UI polish: interaction feedback, rhythm, detail ---- */
|
|
183
|
+
.widget{transition:border-color .15s ease}
|
|
184
|
+
.widget:hover{border-color:#2e2e36}
|
|
185
|
+
.widget .w-count{background:#232329;border-radius:6px;padding:1px 7px;font-size:10.5px}
|
|
186
|
+
.widget .w-count:empty{display:none}
|
|
187
|
+
.widget .w-count.warn{color:var(--h-amber)}
|
|
188
|
+
.fact-item b{font-family:var(--mono);font-size:11px}
|
|
189
|
+
.home-composer{transition:border-color .15s ease,box-shadow .15s ease}
|
|
190
|
+
.home-composer:focus-within{border-color:#4c6fff59;box-shadow:0 24px 70px #000a,0 0 0 3px #4c6fff1f}
|
|
191
|
+
.composer-send{background:var(--h-blue);border-color:var(--h-blue);color:#fff}
|
|
192
|
+
.composer-send:hover{background:#5d7dff;border-color:#5d7dff}
|
|
193
|
+
.chip,.composer-tab{transition:background .12s ease,color .12s ease,border-color .12s ease}
|
|
194
|
+
.hero-content{animation:home-rise .45s ease both}
|
|
195
|
+
.home-body{animation:home-rise .5s ease both}
|
|
196
|
+
@keyframes home-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
|
|
197
|
+
.palette-list{scrollbar-width:thin;scrollbar-color:#2e2e36 transparent}
|
|
198
|
+
.palette-hint{display:flex;gap:16px;padding:9px 16px;border-top:1px solid #26262c;font-size:10.5px;color:#8b8e98}
|
|
199
|
+
.palette-hint kbd{font:10px var(--mono);color:#9aa0ab;border:1px solid #ffffff14;border-radius:4px;padding:1px 5px;background:#ffffff08;margin-right:4px}
|
|
200
|
+
|
|
201
|
+
/* Persisted workflow conversation: plain evidence, no generated task progress. */
|
|
202
|
+
.chat-context{font-size:12px;color:var(--text-muted,#999);padding:0 18px 12px;margin:0;}
|
|
203
|
+
.chat-thread{max-height:420px;overflow:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 20px;text-align:left;}
|
|
204
|
+
.chat-message{margin:0 0 20px;}
|
|
205
|
+
.chat-message header{font-size:12px;color:#9696a0;margin-bottom:8px;}
|
|
206
|
+
.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65;margin:0;color:#e1e1e6;}
|
|
207
|
+
.chat-message.user{border-left:2px solid #3c5bff;padding-left:12px;}
|
|
208
|
+
.composer-send:disabled{opacity:.4;cursor:wait;}
|
|
209
|
+
/* Compact composer; conversation grows to a bounded reading width. */
|
|
210
|
+
.hero-content{width:440px;max-width:100%;min-width:0;padding:82px 20px 24px;transition:width .2s ease}
|
|
211
|
+
.hero-content.has-conversation{width:760px}
|
|
212
|
+
.home-hero{min-height:350px;align-items:center}
|
|
213
|
+
.home-composer{min-width:0;width:100%;max-width:100%}
|
|
214
|
+
.chat-thread{max-height:280px;padding:14px 18px;overscroll-behavior:contain;min-width:0}
|
|
215
|
+
.chat-message{margin-bottom:16px;min-width:0}
|
|
216
|
+
.chat-content{font-size:13px;line-height:1.65;overflow-wrap:anywhere;color:#e1e1e6}
|
|
217
|
+
.chat-content p{font-size:inherit;white-space:normal;line-height:inherit;margin:0 0 10px}
|
|
218
|
+
.chat-message.user .chat-content p{white-space:pre-wrap}
|
|
219
|
+
.chat-content :last-child{margin-bottom:0}
|
|
220
|
+
.chat-content h1,.chat-content h2,.chat-content h3,.chat-content h4{font-size:14px;text-align:left;margin:12px 0 6px;text-shadow:none}
|
|
221
|
+
.chat-content ul,.chat-content ol{margin:8px 0;padding-left:22px}
|
|
222
|
+
.chat-content li{margin:4px 0}
|
|
223
|
+
.chat-content code{font:12px/1.6 var(--mono);background:#ffffff0a;border-radius:4px;padding:2px 4px;overflow-wrap:anywhere}
|
|
224
|
+
.chat-content pre{max-width:100%;overflow:auto;background:#0c0c10;border:1px solid var(--h-line);border-radius:8px;padding:12px;margin:10px 0;white-space:pre}
|
|
225
|
+
.chat-content pre code{padding:0;background:none;white-space:pre}
|
|
226
|
+
.chat-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:10px 0}
|
|
227
|
+
.chat-content th,.chat-content td{border:1px solid var(--h-line);padding:6px 9px;text-align:left}
|
|
228
|
+
.chat-content a{color:#8fa4ff;text-decoration:underline}
|
|
229
|
+
.chat-content blockquote{border-left:2px solid var(--h-line2);margin:10px 0;padding-left:12px;color:var(--h-dim)}
|
|
230
|
+
.chat-context{font-size:10.5px;padding:0 14px 8px}
|
|
231
|
+
.home-widgets{grid-template-areas:"project receipts" "working receipts" "sandbox failures" "services failures"}
|
|
232
|
+
.area-project{grid-area:project}
|
|
233
|
+
.project-title{display:block;font-size:14px;font-weight:500;margin:6px 0 12px}
|
|
234
|
+
.project-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
|
|
235
|
+
.project-summary button{padding:8px;text-align:left;color:var(--h-dim);background:var(--h-card2);border:1px solid var(--h-line);border-radius:8px;font-size:11px}
|
|
236
|
+
.project-summary b{display:block;color:var(--h-ink);font-size:20px;font-weight:500;margin-bottom:4px}
|
|
237
|
+
@media(max-width:900px){.home-widgets{grid-template-columns:1fr;grid-template-areas:"project" "working" "receipts" "sandbox" "services" "failures"}}
|
|
238
|
+
@media(prefers-reduced-motion:reduce){.hero-content{transition:none}}
|
|
239
|
+
/* Keep conversation and workspace status on screen together. */
|
|
240
|
+
.home-hero{min-height:300px}
|
|
241
|
+
.hero-content{padding:72px 20px 20px}
|
|
242
|
+
body.view-home:has(#api-message:not(:empty)) .hero-content{padding-top:28px}
|
|
243
|
+
.hero-content h1{font-size:22px;margin-bottom:14px}
|
|
244
|
+
#home-sky{opacity:.25}
|
|
245
|
+
.home-composer{background:#161619f5;box-shadow:0 12px 32px #0005}
|
|
246
|
+
#composer-input{height:62px;min-height:62px;padding-top:10px;font-size:13px}
|
|
247
|
+
.chat-thread{max-height:180px;padding:12px 16px}
|
|
248
|
+
.chat-disclosure{margin:0;padding:0 14px 10px;color:var(--h-mut);font-size:11px;line-height:1.6}
|
|
249
|
+
.chat-disclosure summary{cursor:pointer;overflow-wrap:anywhere}
|
|
250
|
+
.chat-disclosure p{margin:6px 0 0}
|
|
251
|
+
@media(max-width:560px){.hero-content{padding:72px 12px 16px}.hero-content.has-conversation{width:100%}.chat-thread{max-height:180px}.hero-content h1{font-size:20px}}
|
|
252
|
+
/* The assistant is part of the workspace, without decorative demo scenery. */
|
|
253
|
+
.home-hero{background:transparent;min-height:260px}.home-hero::after,.home-hero::before{display:none}.home-hero .hero-content{padding-top:42px}.hero-content h1{text-shadow:none;font-size:24px}.home-composer{background:#161619;border-color:#2b2b30;box-shadow:none;backdrop-filter:none;border-radius:12px}.home-widgets .widget{box-shadow:none;border-radius:10px}.home-toolbar{margin-top:12px}.widget .w-empty{line-height:1.75}.composer-note{color:var(--muted)}
|
|
254
|
+
body.view-home .topbar{position:sticky;top:0;min-height:64px;background:#111114;border-bottom:1px solid #24242a;padding:10px 20px}body.view-home .brand{display:inline-flex;width:auto;font-size:17px;margin-right:20px;gap:10px}body.view-home .brand img{width:27px;height:27px}body.view-home #api-message:not(:empty){margin:14px 20px 0;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--muted);max-width:none}body.view-home .hero-content{padding-top:30px}#api-message:not(:empty){border:0;background:transparent;padding:10px 0;border-radius:0;color:var(--muted)}
|
|
255
|
+
@media(max-width:760px){body.view-home .brand{font-size:0;margin-right:4px;gap:0}body.view-home .brand img{width:25px;height:25px}body.view-home .topbar{padding:10px 12px}.home-switcher{min-width:0;max-width:calc(100vw - 190px);overflow:auto}}
|
|
256
|
+
/* Keep the original night-sky artwork behind the working interface. */
|
|
257
|
+
.home-hero{position:relative;isolation:isolate}.home-hero #home-sky{display:block;position:absolute;inset:0;z-index:-1;opacity:.38;pointer-events:none}.home-hero .hero-content{position:relative;z-index:1}.home-composer{background:#161619ed}.home-hero:after{display:block;content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#10101300 55%,#101013 100%);pointer-events:none}
|
|
258
|
+
|
|
259
|
+
/* Restored artwork-led Home; runtime evidence stays live. */
|
|
260
|
+
.home-hero{min-height:400px}.home-hero #home-sky{opacity:1}.home-hero .hero-content{padding:54px 20px 34px}.home-hero:after{background:linear-gradient(180deg,#10101300 65%,#101013 100%)}.home-composer{background:#13131899;border-color:#ffffff26;border-radius:16px;backdrop-filter:blur(18px);box-shadow:0 20px 55px #0006}.home-widgets .widget{background:#18181de0;border-color:#ffffff15;border-radius:14px;backdrop-filter:blur(16px)}.home-body .home-action{width:100%;margin:0 0 24px;background:#1b1b21b3;backdrop-filter:blur(16px)}
|
|
261
|
+
.account-connected .run-sidebar,.account-connected #stats{display:none}.account-connected .workspace{grid-template-columns:minmax(0,1fr)}.debug-section{margin-top:20px;border-top:1px solid #303034;padding-top:16px}.debug-section>summary{cursor:pointer;color:#bbb}
|
|
262
|
+
|
|
263
|
+
/* Workspace evidence first; the assistant follows the overview. */
|
|
264
|
+
.home-hero{min-height:220px;align-items:center}.home-overview-title{position:relative;z-index:1;margin:0;padding:36px 20px;color:#fff;font-size:28px;font-weight:550;letter-spacing:-.5px;text-shadow:0 2px 22px #0009}.home-assistant-bottom{display:flex;justify-content:center;margin-top:32px}.home-assistant-bottom .hero-content{padding:0;width:min(560px,100%)}.home-assistant-bottom .hero-content.has-conversation{width:min(720px,100%)}.home-assistant-bottom .home-composer{background:#18181db3}.home-assistant-bottom .hero-content{max-width:100%}@media(max-width:560px){.home-hero{min-height:180px}.home-overview-title{font-size:24px}.home-assistant-bottom{margin-top:24px}}
|
|
265
|
+
|
|
266
|
+
/* Home feedback: ambient artwork, compact assistant and responsive navigation. */
|
|
267
|
+
#home-view{position:relative;isolation:isolate;padding-bottom:90px}
|
|
268
|
+
.home-hero{position:static;min-height:190px;isolation:auto}
|
|
269
|
+
.home-hero #home-sky{height:380px!important;z-index:-1;mask-image:linear-gradient(#000 0%,#000b 35%,transparent 100%)}
|
|
270
|
+
.home-hero:after{display:none}
|
|
271
|
+
.home-overview-title{font-size:30px;padding:42px 24px}
|
|
272
|
+
.home-body{max-width:1080px;padding-bottom:24px}
|
|
273
|
+
.home-body .home-action{background:#18181b80;border-color:#ffffff14;padding:22px 24px;border-radius:16px}
|
|
274
|
+
.home-widgets{grid-template-areas:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
|
|
275
|
+
.home-widgets .widget{grid-area:auto;min-height:140px;padding:18px;background:#17171bc9;border-radius:12px}
|
|
276
|
+
.home-widgets .widget[hidden]{display:none}
|
|
277
|
+
.home-widgets .w-empty{font-size:12px;line-height:1.65}
|
|
278
|
+
.home-widget-controls{display:flex;gap:16px;flex-wrap:wrap;padding:16px;margin-bottom:16px;border:1px solid #ffffff18;border-radius:12px;background:#19191f}
|
|
279
|
+
.home-widget-controls[hidden]{display:none}
|
|
280
|
+
.home-widget-controls label{display:flex;align-items:center;gap:7px;font-size:12px}
|
|
281
|
+
.home-widget-controls input{accent-color:#4c68ff}
|
|
282
|
+
.home-assistant-bottom{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:30;margin:0;max-width:calc(100vw - 32px)}
|
|
283
|
+
#assistant-dock-toggle{padding:14px 20px;border-radius:40px;background:#202028ee;border:1px solid #ffffff30;color:#eee;box-shadow:0 8px 30px #0006;display:flex;gap:32px;align-items:center;font-size:13px;backdrop-filter:blur(20px)}
|
|
284
|
+
#assistant-dock-toggle[hidden],#assistant-dock-panel[hidden]{display:none}
|
|
285
|
+
#assistant-dock-panel{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 160px);overflow:auto;padding:0}
|
|
286
|
+
#assistant-dock-panel.has-conversation{width:min(720px,calc(100vw - 32px))}
|
|
287
|
+
#assistant-dock-close{display:block;margin:0 0 8px auto;background:#202028;color:#ccc;border:1px solid #ffffff25;padding:6px 12px;border-radius:8px;font-size:12px}
|
|
288
|
+
.home-assistant-bottom .home-composer{background:#19191ff5;box-shadow:0 20px 60px #0008}
|
|
289
|
+
.failure-row{width:100%;text-align:left;background:none;border:0;color:inherit;cursor:pointer}
|
|
290
|
+
.failure-row:hover{background:#ffffff08}
|
|
291
|
+
#account-user-name{margin:8px 0;color:#ddd;font-size:13px}
|
|
292
|
+
@media(max-width:900px){.home-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}}
|
|
293
|
+
@media(max-width:600px){
|
|
294
|
+
body.view-home .topbar{display:flex;flex-wrap:wrap;gap:10px;min-height:106px;padding:10px 12px}
|
|
295
|
+
body.view-home .brand{font-size:16px;flex:1;margin:0}
|
|
296
|
+
body.view-home .home-top-actions{margin-left:auto}
|
|
297
|
+
body.view-home #home-expand,body.view-home #home-search{display:none}
|
|
298
|
+
body.view-home .home-switcher{order:10;width:100%;max-width:100%;display:flex;overflow:visible;padding:3px;justify-content:space-between}
|
|
299
|
+
.home-switcher button{flex:1;justify-content:center;padding:8px 3px;gap:3px;font-size:11px;min-height:36px}
|
|
300
|
+
.home-switcher button img,.home-switcher button svg{display:none}
|
|
301
|
+
.home-overview-title{font-size:25px;padding:30px 18px}.home-hero{min-height:150px}
|
|
302
|
+
.home-body .home-action{padding:18px;align-items:flex-start;gap:16px;flex-direction:column}.home-action h2{font-size:18px}
|
|
303
|
+
.home-widgets{grid-template-columns:1fr}.home-widgets .widget{min-height:0;padding:16px}
|
|
304
|
+
.home-grid-head{margin-top:20px}.home-assistant-bottom{bottom:12px}
|
|
305
|
+
#assistant-dock-panel{max-height:calc(100dvh - 150px)}
|
|
306
|
+
}
|
|
307
|
+
/* Keep the dock anchored to the viewport rather than the animated card wrapper. */
|
|
308
|
+
.home-body{animation:none}
|
|
309
|
+
.home-assistant-bottom{width:max-content}
|
|
310
|
+
#assistant-dock-toggle{white-space:nowrap}
|
|
311
|
+
@media(max-width:600px){
|
|
312
|
+
body:not(.view-home) .topbar{height:auto;min-height:106px;display:flex;flex-wrap:wrap;padding:10px 12px;gap:10px}
|
|
313
|
+
body:not(.view-home) .brand{width:auto;flex:1;font-size:16px}
|
|
314
|
+
body:not(.view-home) .home-switcher{order:10;width:100%;max-width:100%;overflow:visible;justify-content:space-between}
|
|
315
|
+
body:not(.view-home) .home-top-actions,body:not(.view-home) #sidebar-toggle{display:none}
|
|
316
|
+
body:not(.view-home) .app-layout{grid-template-columns:minmax(0,1fr)}
|
|
317
|
+
body:not(.view-home) .app-nav{display:none}
|
|
318
|
+
.account-menu{right:0;left:auto}
|
|
319
|
+
}
|
|
320
|
+
/* Draw the artwork at its displayed dimensions; never stretch its pixel grid. */
|
|
321
|
+
.home-hero #home-sky{width:100%!important;height:380px!important;mask-image:linear-gradient(#000 0%,#000 45%,transparent 100%)}
|
|
322
|
+
body.view-settings .app-layout{grid-template-columns:minmax(0,1fr)}
|
|
323
|
+
body.view-settings .app-nav,body.view-settings #sidebar-toggle{display:none}
|
|
324
|
+
body.view-settings main{width:100%;max-width:1040px;margin:0 auto}
|
|
325
|
+
.assistant-heading{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 8px;gap:16px;font-size:14px}
|
|
326
|
+
#assistant-project-context{font-size:12px;color:#aaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
327
|
+
#assistant-connection-status{margin:0;padding:0 16px 12px;font-size:12px;color:#a8a8b3;line-height:1.6}
|
|
328
|
+
#assistant-connect{margin:0 16px 14px;background:#4c68ff;border:0;border-radius:8px;padding:9px 12px;color:white;font-size:12px}
|
|
329
|
+
#assistant-connect[hidden]{display:none}
|
|
330
|
+
#composer-input:disabled{display:none}
|
|
331
|
+
.home-composer:has(#composer-input:disabled) .composer-row{display:none}
|
|
332
|
+
.assistant-send-hint{font-size:11px;color:#92929f;flex:1;padding-left:8px}
|
|
333
|
+
.composer-send{width:auto;min-width:64px;padding:6px 12px;font-size:12px}
|
|
334
|
+
.sidebar-project,.sidebar-workflow{display:block;width:100%;text-align:left;border:0;background:transparent;color:#a9a9b3;padding:10px 14px;border-radius:8px;font-size:12px;overflow-wrap:anywhere}
|
|
335
|
+
.sidebar-project.active,.sidebar-project:hover,.sidebar-workflow:hover{background:#ffffff0a;color:#eee}
|
|
336
|
+
.sidebar-project{font-size:13px;font-weight:550}
|
|
337
|
+
.sidebar-empty{font-size:12px;line-height:1.6;color:#777;padding:0 14px}
|
|
338
|
+
#sidebar-projects{overflow:auto;flex:1;padding:10px 0}
|
|
339
|
+
@media(max-width:600px){
|
|
340
|
+
body:not(.view-home):not(.view-settings) .app-layout{display:block}
|
|
341
|
+
body:not(.view-home):not(.view-settings) .app-nav{display:block;padding:8px 12px;border-bottom:1px solid #ffffff12;width:100%}
|
|
342
|
+
body:not(.view-home):not(.view-settings) .app-nav .sidebar-primary,body:not(.view-home):not(.view-settings) .app-nav .sidebar-bottom{display:none}
|
|
343
|
+
#sidebar-projects{display:flex;overflow:auto;gap:6px;padding:0}
|
|
344
|
+
#sidebar-projects .sidebar-label,#sidebar-projects .sidebar-workflow,#sidebar-projects .sidebar-empty{display:none}
|
|
345
|
+
#sidebar-projects .sidebar-project{width:auto;flex:none;padding:8px 12px}
|
|
346
|
+
}
|
|
347
|
+
/* Markdown headings must never inherit the page hero typography. */
|
|
348
|
+
.home-composer .chat-content :is(h1,h2,h3,h4){font-size:14px;line-height:1.5;font-weight:600;text-align:left;margin:12px 0 6px;letter-spacing:normal;text-shadow:none}
|
|
349
|
+
|
|
350
|
+
/* Artwork-led workspace: test evidence, not infrastructure, is the focus. */
|
|
351
|
+
body.view-home{--h-bg:#17181c;background:var(--h-bg)}
|
|
352
|
+
body.view-home main{background:var(--h-bg)}
|
|
353
|
+
body.view-home .topbar{position:absolute;background:transparent;border:0;backdrop-filter:none;min-height:56px;padding:10px 18px}
|
|
354
|
+
body.view-home #api-message:not(:empty){position:absolute;top:58px;right:20px;max-width:360px;margin:0;padding:0;font-size:11px;text-align:right;color:#c0c9d4;z-index:3}
|
|
355
|
+
#home-view{padding-bottom:48px;min-height:calc(100dvh - 20px)}
|
|
356
|
+
.home-hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:390px;overflow:visible;isolation:auto;padding:218px 20px 32px;gap:16px}
|
|
357
|
+
.home-hero #home-sky{position:absolute;inset:0;height:510px!important;width:100%!important;background:url('moonlit-coast.png') center top/100% auto no-repeat;image-rendering:auto;opacity:1;mask-image:linear-gradient(#000 0%,#000 53%,transparent 100%);z-index:-1}
|
|
358
|
+
.home-overview-title{font-size:22px;line-height:1.25;padding:0;margin:0;font-weight:550;letter-spacing:-.45px;text-shadow:0 2px 18px #0008;text-wrap:balance;text-align:center}
|
|
359
|
+
.home-assistant-bottom{position:relative;bottom:auto;left:auto;transform:none;margin:0;z-index:3;width:min(480px,100%);max-width:100%;display:block}
|
|
360
|
+
#assistant-dock-toggle{width:100%;justify-content:space-between;background:#1b1e25c9;border-color:#ffffff1c;border-radius:12px;padding:16px 18px;white-space:normal;font-size:13px;backdrop-filter:blur(18px);box-shadow:0 10px 40px #080a1040}
|
|
361
|
+
#assistant-dock-panel,#assistant-dock-panel.has-conversation{width:100%;max-height:470px;overflow:auto}
|
|
362
|
+
.home-assistant-bottom:has(.has-conversation){width:min(680px,100%)}
|
|
363
|
+
.home-assistant-bottom .home-composer{border-radius:12px;background:#1d2027df;box-shadow:0 16px 40px #0a0c1250}
|
|
364
|
+
#assistant-dock-close{margin-bottom:6px;background:#1b1e25aa}
|
|
365
|
+
#assistant-connection-status{font-size:11px;padding-bottom:4px}
|
|
366
|
+
#composer-input{min-height:64px;font-size:13px}
|
|
367
|
+
#chat-thread{max-height:240px}
|
|
368
|
+
.home-body{max-width:800px;padding:0 20px 32px;margin:0 auto}
|
|
369
|
+
.home-body .home-action{padding:14px 16px;margin:0 0 18px;border-radius:10px;background:#20222780;border-color:#ffffff0c;gap:20px}
|
|
370
|
+
.home-action h2{font-size:14px;margin:0 0 4px;font-weight:550}
|
|
371
|
+
.home-action p{font-size:12px;margin:0;color:#a1a4ad}
|
|
372
|
+
.home-action button{font-size:12px;padding:8px 12px;min-height:32px;flex:none;background:#2d354b;border:1px solid #67759255}
|
|
373
|
+
.home-grid-head{margin:0 0 10px}
|
|
374
|
+
.home-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
|
|
375
|
+
.home-widgets .widget{background:#202227a8;border:1px solid #ffffff09;border-radius:9px;padding:14px 15px;min-height:0;backdrop-filter:blur(12px);box-shadow:none}
|
|
376
|
+
.home-widgets .widget header{gap:7px;margin-bottom:12px}
|
|
377
|
+
.home-widgets .widget h2{font-size:12px;font-weight:500;color:#d9dce2}
|
|
378
|
+
.home-widgets .widget .w-empty{font-size:11px;line-height:1.6;color:#90949f;margin:0}
|
|
379
|
+
.home-widgets .w-head-meta{font-size:10px;color:#9398a4}
|
|
380
|
+
.home-widgets #widget-receipts{grid-column:2;grid-row:1 / span 2}
|
|
381
|
+
.home-widgets #widget-project{grid-column:1;grid-row:1}
|
|
382
|
+
.home-widgets #widget-git{grid-column:1;grid-row:2}
|
|
383
|
+
.home-widgets #widget-working{grid-column:1;grid-row:3}
|
|
384
|
+
.home-widgets #widget-services{grid-column:2;grid-row:3 / span 2}
|
|
385
|
+
.home-widgets #widget-sandbox{grid-column:1;grid-row:4}
|
|
386
|
+
.home-widgets #widget-failures{grid-column:1 / -1;grid-row:5}
|
|
387
|
+
.review-row{grid-template-columns:16px minmax(0,1fr) auto;gap:8px;padding:9px 0}
|
|
388
|
+
.review-row .ref{grid-column:2;font-size:10px}.review-row .r-time{display:none}
|
|
389
|
+
.review-row strong{font-size:12px;font-weight:450}.review-row .r-status{font-size:10px}
|
|
390
|
+
.project-title{font-size:14px}.project-summary{gap:6px}.project-summary button{padding:8px 0;text-align:left;font-size:10px}.project-summary b{font-size:20px;font-weight:500}
|
|
391
|
+
.git-total{display:flex;align-items:baseline;gap:8px}.git-total strong{font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}.git-total span{font-size:10px;color:#9298a3}
|
|
392
|
+
.git-bars{display:flex;align-items:flex-end;height:52px;gap:4px;margin:12px 0 8px}.git-bars span{flex:1;height:var(--bar);min-height:3px;background:#496da9;border-radius:2px 2px 0 0}.git-bars span:last-child{background:#698fd0}
|
|
393
|
+
.git-foot{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#9298a3;margin:0 0 10px}.git-foot code{font-size:10px;color:#bdc5d2}
|
|
394
|
+
.sync-command{display:block;font-size:11px;color:#bfc6d1;margin-top:10px}
|
|
395
|
+
.activity-row{display:flex;align-items:flex-start;gap:8px;width:100%;padding:9px 0;border:0;border-bottom:1px solid #ffffff07;background:transparent;color:inherit;text-align:left;cursor:pointer}.activity-row:hover{background:#ffffff04}.activity-dot{width:5px;height:5px;flex:none;margin-top:5px;border-radius:50%;background:#7c99c4}.activity-dot.fault{background:#d7a46a}.activity-dot.write{background:#63a884}.activity-row strong{display:block;font-size:11px;font-weight:500}.activity-row small{display:block;font-size:10px;color:#9096a2;overflow-wrap:anywhere;line-height:1.5;margin-top:4px}.activity-row time{margin-left:auto;white-space:nowrap;font-size:9px;color:#7c8290}
|
|
396
|
+
.home-widget-controls{font-size:11px;background:#21242bcc;border-radius:9px;padding:12px}
|
|
397
|
+
.home-top-actions .home-search,.home-icon-btn{background:#11172255;border-color:#c4d2f020}.home-switcher{background:#151b265e;border-color:#d1dbec18}
|
|
398
|
+
@media(max-width:600px){
|
|
399
|
+
body.view-home .topbar{position:relative;background:#17181c;min-height:100px}
|
|
400
|
+
body.view-home #api-message:not(:empty){position:relative;top:auto;right:auto;margin:8px 20px;text-align:left;max-width:none}
|
|
401
|
+
.home-hero{min-height:310px;padding:162px 20px 24px}.home-hero #home-sky{height:410px!important;background-size:auto 410px;background-position:23% top}
|
|
402
|
+
.home-overview-title{font-size:21px}.home-body{padding:0 16px 28px}.home-body .home-action{flex-direction:row;padding:12px;gap:12px}.home-action p{display:none}
|
|
403
|
+
.home-widgets{grid-template-columns:minmax(0,1fr)}.home-widgets #widget-project,.home-widgets #widget-working,.home-widgets #widget-receipts,.home-widgets #widget-git,.home-widgets #widget-services,.home-widgets #widget-sandbox,.home-widgets #widget-failures{grid-column:auto;grid-row:auto}
|
|
404
|
+
#assistant-dock-panel{max-height:410px}.home-assistant-bottom{bottom:auto}.home-grid-head{margin-top:0}
|
|
405
|
+
}
|