experiments in a post-browser web
at main 360 lines 5.7 kB view raw
1/* Import theme variables */ 2@import url('peek://theme/variables.css'); 3 4* { 5 box-sizing: border-box; 6 margin: 0; 7 padding: 0; 8} 9 10html { 11 font-family: var(--theme-font-sans); 12 -webkit-font-smoothing: antialiased; 13 font-size: 14px; 14 line-height: 1.5; 15} 16 17body { 18 background: var(--base00); 19 color: var(--base05); 20 height: 100vh; 21 overflow: hidden; 22} 23 24.container { 25 display: flex; 26 height: 100vh; 27} 28 29/* Left Panel - Scripts List */ 30.scripts-list { 31 width: 300px; 32 background: var(--base01); 33 border-right: 1px solid var(--base02); 34 display: flex; 35 flex-direction: column; 36} 37 38.scripts-header { 39 padding: 16px; 40 border-bottom: 1px solid var(--base02); 41} 42 43.scripts-header h1 { 44 font-size: 18px; 45 font-weight: 600; 46 margin-bottom: 12px; 47 color: var(--base05); 48} 49 50.scripts-items { 51 flex: 1; 52 overflow-y: auto; 53 padding: 8px; 54} 55 56.script-item { 57 padding: 12px; 58 margin-bottom: 4px; 59 background: var(--base02); 60 border-radius: 6px; 61 cursor: pointer; 62 border: 2px solid transparent; 63 transition: all 0.15s; 64} 65 66.script-item:hover { 67 background: var(--base03); 68} 69 70.script-item.active { 71 border-color: var(--base0D); 72 background: var(--base03); 73} 74 75.script-item-header { 76 display: flex; 77 align-items: center; 78 gap: 8px; 79 margin-bottom: 4px; 80} 81 82.script-checkbox { 83 margin: 0; 84 accent-color: var(--base0D); 85} 86 87.script-name { 88 flex: 1; 89 font-weight: 500; 90 font-size: 14px; 91 color: var(--base05); 92} 93 94.script-status { 95 width: 8px; 96 height: 8px; 97 border-radius: 50%; 98 background: var(--base04); 99} 100 101.script-status.success { 102 background: var(--base0B); 103} 104 105.script-status.error { 106 background: var(--base08); 107} 108 109.script-meta { 110 font-size: 11px; 111 color: var(--base04); 112 margin-left: 28px; 113} 114 115/* Center Panel - Editor */ 116.editor-panel { 117 flex: 1; 118 display: flex; 119 flex-direction: column; 120 background: var(--base00); 121} 122 123.editor-header { 124 padding: 16px; 125 border-bottom: 1px solid var(--base02); 126} 127 128.editor-form { 129 display: flex; 130 flex-direction: column; 131 gap: 12px; 132} 133 134.form-row { 135 display: flex; 136 gap: 12px; 137} 138 139.form-group { 140 display: flex; 141 flex-direction: column; 142 gap: 4px; 143} 144 145.form-group.flex-1 { 146 flex: 1; 147} 148 149.form-group.w-150 { 150 width: 150px; 151} 152 153.form-group label { 154 font-size: 12px; 155 color: var(--base04); 156 font-weight: 500; 157} 158 159/* peek-input customization in form context */ 160.form-group peek-input { 161 --peek-input-bg: var(--base01); 162 --peek-input-border: var(--base02); 163 --peek-input-height: 34px; 164} 165 166.form-group select { 167 padding: 6px 8px; 168 background: var(--base01); 169 border: 1px solid var(--base02); 170 color: var(--base05); 171 border-radius: 6px; 172 font-size: 13px; 173 font-family: var(--theme-font-sans); 174 height: 34px; 175} 176 177.form-group select:focus { 178 outline: none; 179 border-color: var(--base0D); 180} 181 182.editor-content { 183 flex: 1; 184 display: flex; 185 flex-direction: column; 186 padding: 16px; 187} 188 189.code-editor { 190 flex: 1; 191 background: var(--base01); 192 color: var(--base05); 193 border: 1px solid var(--base02); 194 border-radius: 6px; 195 padding: 12px; 196 font-family: var(--theme-font-mono, 'Monaco', 'Menlo', 'Consolas', monospace); 197 font-size: 13px; 198 resize: none; 199 outline: none; 200 line-height: 1.5; 201} 202 203.code-editor:focus { 204 border-color: var(--base0D); 205} 206 207.code-editor::placeholder { 208 color: var(--base04); 209} 210 211.editor-actions { 212 padding: 16px; 213 border-top: 1px solid var(--base02); 214 display: flex; 215 gap: 8px; 216} 217 218/* Right Panel - Preview */ 219.preview-panel { 220 width: 350px; 221 background: var(--base01); 222 border-left: 1px solid var(--base02); 223 display: flex; 224 flex-direction: column; 225} 226 227.preview-header { 228 padding: 16px; 229 border-bottom: 1px solid var(--base02); 230} 231 232.preview-header h2 { 233 font-size: 14px; 234 font-weight: 600; 235 margin-bottom: 12px; 236 color: var(--base05); 237} 238 239.test-url-group { 240 display: flex; 241 flex-direction: column; 242 gap: 8px; 243} 244 245/* peek-input customization for test URL */ 246.test-url-group peek-input { 247 --peek-input-bg: var(--base02); 248 --peek-input-border: var(--base03); 249 --peek-input-height: 36px; 250} 251 252.preview-content { 253 flex: 1; 254 padding: 16px; 255 overflow-y: auto; 256} 257 258.result-box { 259 background: var(--base02); 260 border: 1px solid var(--base03); 261 border-radius: 6px; 262 padding: 12px; 263 margin-bottom: 12px; 264} 265 266.result-status { 267 display: flex; 268 align-items: center; 269 gap: 8px; 270 margin-bottom: 8px; 271 font-size: 13px; 272} 273 274.result-status.success { 275 color: var(--base0B); 276} 277 278.result-status.error { 279 color: var(--base08); 280} 281 282.result-status.skipped { 283 color: var(--base0A); 284} 285 286.result-time { 287 color: var(--base04); 288 font-size: 12px; 289} 290 291.result-label { 292 font-size: 12px; 293 color: var(--base04); 294 font-weight: 500; 295 margin-top: 12px; 296} 297 298.result-data { 299 background: var(--base00); 300 padding: 8px; 301 border-radius: 4px; 302 font-family: var(--theme-font-mono, 'Monaco', 'Menlo', 'Consolas', monospace); 303 font-size: 12px; 304 overflow-x: auto; 305 white-space: pre-wrap; 306 color: var(--base05); 307 margin-top: 4px; 308} 309 310.result-reason { 311 font-size: 12px; 312 color: var(--base04); 313} 314 315.result-stack { 316 margin-top: 8px; 317 font-size: 11px; 318 color: var(--base04); 319} 320 321.result-stack pre { 322 margin-top: 4px; 323 font-family: var(--theme-font-mono, 'Monaco', 'Menlo', 'Consolas', monospace); 324 white-space: pre-wrap; 325} 326 327.empty-state { 328 color: var(--base04); 329 text-align: center; 330 padding: 40px 20px; 331 font-size: 13px; 332} 333 334.console-output { 335 margin-top: 12px; 336} 337 338.console-output h3 { 339 font-size: 12px; 340 color: var(--base04); 341 margin-bottom: 8px; 342} 343 344.console-line { 345 font-family: var(--theme-font-mono, 'Monaco', 'Menlo', 'Consolas', monospace); 346 font-size: 11px; 347 padding: 2px 0; 348} 349 350.console-line.log { 351 color: var(--base05); 352} 353 354.console-line.error { 355 color: var(--base08); 356} 357 358.console-line.warn { 359 color: var(--base0A); 360}