Spaces:
Running
Running
File size: 6,238 Bytes
37872b1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | :root {
--bg: #0b1020;
--bg-soft: #121a33;
--card: #161f3d;
--border: #2a3663;
--text: #e8ecf8;
--muted: #9aa6c8;
--accent: #7c8cff;
--accent-2: #f472b6;
--smaug: #6d7cff;
--base: #f59e0b;
--ok: #34d399;
--warn: #fbbf24;
--bad: #f87171;
--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: radial-gradient(1200px 600px at 20% -10%, #1b2a5e 0%, var(--bg) 55%) no-repeat, var(--bg);
color: var(--text);
font: 15px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
a { color: var(--accent); }
code { font-family: var(--mono); font-size: 0.92em; background: #0d1330; padding: 1px 5px; border-radius: 5px; }
.hero { padding: 28px 24px 8px; max-width: 1240px; margin: 0 auto; }
.hero h1 { margin: 0 0 6px; font-size: 30px; letter-spacing: -0.3px; }
.hero .sub { margin: 0 0 12px; color: var(--muted); max-width: 70ch; }
.badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.badge {
font-size: 12.5px; padding: 3px 10px; border-radius: 999px;
background: #1a2450; border: 1px solid var(--border); color: var(--text);
}
.hublive { color: var(--muted); font-size: 13px; margin: 6px 0 0; }
.tabs {
display: flex; flex-wrap: wrap; gap: 6px; max-width: 1240px; margin: 18px auto 0;
padding: 0 24px; border-bottom: 1px solid var(--border);
}
.tab {
background: transparent; border: 1px solid transparent; border-bottom: none;
color: var(--muted); padding: 9px 14px; border-radius: 10px 10px 0 0; cursor: pointer;
font-size: 14.5px;
}
.tab:hover { color: var(--text); background: #141c3c; }
.tab.active { color: var(--text); background: var(--card); border-color: var(--border); }
main { max-width: 1240px; margin: 0 auto; padding: 22px 24px 60px; }
.panel { display: none; }
.panel.active { display: block; }
h2 { margin: 30px 0 10px; font-size: 21px; }
h3 { margin: 22px 0 8px; font-size: 16.5px; }
p, li { max-width: 96ch; }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
.table-wrap { overflow-x: auto; margin: 12px 0 18px; }
th, td { border-bottom: 1px solid var(--border); padding: 8px 10px; text-align: left; vertical-align: top; }
th { color: var(--muted); font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.4px; }
td:nth-child(n+2), th:nth-child(n+2) { text-align: right; white-space: nowrap; }
table.kv td { text-align: left; white-space: normal; }
table.kv td:first-child { color: var(--muted); width: 210px; }
.callout {
background: #14204a; border: 1px solid var(--border); border-left: 3px solid var(--accent);
padding: 12px 14px; border-radius: 10px; margin: 14px 0; font-size: 14.5px;
}
.callout.warn { border-left-color: var(--warn); background: #2a2312; }
.note { color: var(--muted); font-size: 13.5px; }
.stats { font-family: var(--mono); font-size: 13px; color: var(--text); white-space: pre-wrap; margin: 8px 0; }
.notes { color: var(--muted); font-size: 14px; }
.status { font-size: 13.5px; color: var(--warn); }
.badge-ok { color: var(--ok); }
.badge-bad { color: var(--bad); }
.row { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 10px 0; }
.controls { gap: 16px; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.two-col.wide-left { grid-template-columns: 1.05fr 1fr; }
.two-col.wide-right { grid-template-columns: 360px 1fr; }
@media (max-width: 900px) {
.two-col, .two-col.wide-left, .two-col.wide-right { grid-template-columns: 1fr; }
}
.field { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--muted); flex: 1 1 180px; }
.field input[type="text"], .field input[type="password"], .field input[type="number"],
.field select, .field textarea, textarea.code {
background: #0d1330; color: var(--text); border: 1px solid var(--border);
border-radius: 8px; padding: 8px 10px; font-size: 14px; font-family: inherit;
}
textarea.code { font-family: var(--mono); font-size: 12.8px; line-height: 1.5; resize: vertical; }
textarea.mono-out { color: #cfe3ff; }
.field input[type="range"] { width: 100%; }
label.check { display: flex; gap: 8px; align-items: center; font-size: 13.5px; color: var(--muted); }
button {
border-radius: 9px; padding: 9px 15px; font-size: 14px; cursor: pointer;
border: 1px solid var(--border); background: #1b2450; color: var(--text);
}
button.primary { background: linear-gradient(180deg, var(--accent), #5b6bf0); border-color: #5b6bf0; color: #fff; font-weight: 600; }
button.ghost { background: transparent; color: var(--muted); }
button:hover { filter: brightness(1.12); }
button:disabled { opacity: 0.55; cursor: default; }
details { margin: 12px 0; border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; background: #101736; }
summary { cursor: pointer; color: var(--text); font-size: 14px; }
.chart { min-height: 220px; margin: 10px 0 20px; }
.figure { width: 100%; border: 1px solid var(--border); border-radius: 10px; margin: 12px 0; background: #fff; }
.recipe { position: relative; }
.recipe pre {
background: #0d1330; border: 1px solid var(--border); border-radius: 10px;
padding: 14px; overflow-x: auto; font-family: var(--mono); font-size: 12.8px; line-height: 1.55;
}
.recipe .copy { position: absolute; top: 8px; right: 8px; padding: 4px 10px; font-size: 12px; }
.chat-col { display: flex; flex-direction: column; }
.chat-log {
border: 1px solid var(--border); border-radius: 10px; background: #0d1330;
padding: 12px; height: 420px; overflow-y: auto; margin-bottom: 10px;
}
.msg { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; white-space: pre-wrap; word-wrap: break-word; }
.msg.user { background: #1d2a63; border: 1px solid #2c3d8a; }
.msg.assistant { background: #131b3a; border: 1px solid var(--border); }
.msg.error { background: #3a1b1b; border: 1px solid #7a2c2c; color: #ffd7d7; }
.msg .who { display: block; font-size: 12px; color: var(--muted); margin-bottom: 4px; font-family: var(--mono); }
footer {
max-width: 1240px; margin: 0 auto; padding: 20px 24px 50px;
border-top: 1px solid var(--border); color: var(--muted); font-size: 13px;
}
|