Spaces:
Running
Running
File size: 15,068 Bytes
af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c 788ddfd 87d509c af06c14 87d509c af06c14 87d509c af06c14 788ddfd 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c af06c14 87d509c d0a228e 87d509c | 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 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | :root {
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-synthesis: none;
color: #203047;
background: #f7f8fc;
--blue: #4459c5;
--muted: #58657b;
--line: #dfe4ee;
--mono: ui-monospace, SFMono-Regular, Consolas, monospace;
}
* { box-sizing: border-box; }
body { margin: 0; font-size: 1rem; line-height: 1.55; }
[hidden] { display: none !important; }
a { color: inherit; text-underline-offset: 4px; }
button, input, textarea { font: inherit; }
button { cursor: pointer; color: inherit; border: 1px solid var(--line); border-radius: 9px; background: white; padding: 10px 14px; font-size: 1rem; }
button:hover { border-color: #8493d6; background: #f5f6ff; }
button:disabled { opacity: .5; cursor: wait; }
button:focus-visible, a:focus-visible, textarea:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #8094ee; outline-offset: 3px; }
.wrap { width: min(1240px, calc(100% - 56px)); margin: auto; }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 9px; font-size: 1rem; font-weight: 650; text-decoration: none; }
.monogram { padding: 7px; font: .875rem var(--mono); border: 1px solid var(--line); border-radius: 8px; background: white; }
.topbar nav { display: flex; gap: 22px; font-size: .875rem; color: var(--muted); }
.topbar nav a { text-decoration: none; }
.heading { padding: 32px 0 26px; }
h1 { font-size: clamp(29px, 4vw, 43px); line-height: 1.1; letter-spacing: -.055em; margin: 0; font-weight: 680; }
h1 span { color: #6374cf; }
.subtitle { color: var(--muted); font-size: 1.125rem; margin: 12px 0 0; }
.tool-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.tool-tabs button { display: flex; align-items: center; gap: 16px; text-align: left; padding: 17px 22px; font-size: 1.125rem; font-weight: 650; border-radius: 12px; background: #fff; }
.tool-tabs button[aria-pressed=true] { border-color: #7585d3; background: #eff1ff; box-shadow: 0 0 0 1px #7585d3; color: #3448ae; }
.tool-tabs svg { width: 32px; height: 32px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tool-tabs small { display: block; margin-top: 5px; font-size: .875rem; color: var(--muted); font-weight: 400; }
.workspace { display: grid; grid-template-columns: minmax(330px, .9fr) minmax(0, 1.4fr); gap: 20px; align-items: start; }
.toolbox, .results { background: white; border: 1px solid var(--line); border-radius: 14px; min-width: 0; }
.tool-body, .results { padding: 24px; }
.panel-label { display: flex; align-items: center; gap: 8px; margin: 0 0 22px; font-size: 1rem; font-weight: 600; color: var(--muted); }
.panel-label > span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; background: #eef0fa; color: #4559bb; font: .875rem var(--mono); }
.case-picker { display: grid; gap: 9px; }
.case-picker select { width: 100%; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: white; font: inherit; }
.case-picker label { color: var(--muted); font-size: .875rem; }
.failure-cards { display: grid; gap: 16px; }
.failure-card { border: 1px solid var(--line); border-radius: 9px; padding: 16px; min-width: 0; }
.failure-card h3 { margin: 0 0 10px; font-size: 1rem; }
.failure-card p { margin: 10px 0; font-size: .875rem; line-height: 1.6; }
.failure-line { padding: 12px; background: #f4f6fa; border-radius: 7px; font: .875rem/1.6 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; max-height: 150px; overflow: auto; }
#vllm-log { min-height: 180px; }
.preview-tag { display: inline-block; padding: 2px 6px; margin-left: 4px; border-radius: 5px; background: #e8ecfa; color: #455675; font-size: .75rem; font-weight: 500; }
.vllm-result-label { margin: 0 0 12px; font-size: 1rem; }
.result-next p { margin: 8px 0 0; }
.result-next ul { padding-left: 20px; margin: 8px 0 0; }
.scope-note strong { display: block; margin-bottom: 5px; }
.case-card { display: flex; align-items: center; gap: 15px; padding: 9px 12px; min-height: 80px; text-align: left; border-radius: 9px; font-size: 1rem; }
.case-card svg { width: 68px; height: 34px; flex-shrink: 0; color: #64749d; }
.case-card[aria-pressed=true] { border-color: #7182d7; background: #f2f4ff; box-shadow: inset 3px 0 #6374cf; color: #3346a3; }
.case-provenance { min-height: 17px; font-size: .875rem; line-height: 1.6; color: var(--muted); margin: 14px 0 22px; }
.case-provenance a { color: #3a59a8; }
.input-editor { border-top: 1px solid var(--line); padding-top: 16px; }
summary { cursor: pointer; font-size: 1rem; color: #455675; line-height: 1.6; }
.input-fields { padding: 0; margin: 0; border: 0; min-width: 0; }
.counter-grid { display: grid; gap: 15px; margin-top: 18px; }
.input-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; font-size: .875rem; }
.text-button { border: 0; background: transparent; color: #3657b1; padding: 0; font-size: .875rem; }
textarea { display: block; width: 100%; resize: vertical; min-height: 105px; padding: 11px; border: 1px solid #cdd6e7; border-radius: 7px; background: #fafbfe; color: #2d435f; font: .875rem/1.6 var(--mono); }
.parameters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-top: 15px; }
.parameters label { display: flex; flex: 1 1 100px; flex-direction: column; gap: 6px; font-size: .875rem; color: var(--muted); min-width: 0; }
.parameters input { width: 100%; min-width: 0; padding: 9px; border: 1px solid #cdd6e7; border-radius: 6px; font-size: 1rem; color: #253b56; background: white; }
.hint { font-size: .875rem; line-height: 1.6; color: var(--muted); }
.parameters .hint { flex-basis: 100%; }
.optional { margin-top: 16px; }
.optional summary { font-size: .875rem; }
.optional textarea { margin-top: 10px; min-height: 65px; }
.power-input { margin-top: 17px; }
.power-input textarea { height: 150px; }
.run-row { margin-top: 18px; }
.primary { width: 100%; padding: 12px 18px; background: var(--blue); color: white; border-color: var(--blue); font-weight: 600; }
.primary:hover { background: #3349b2; color: white; }
.privacy { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 20px 0 0; font-size: .875rem; color: var(--muted); }
.privacy svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.status { font-size: .875rem; line-height: 1.6; margin: 12px 0 0; }
.status:empty { display: none; }
.status.error { color: #9c3328; background: #fff2ed; border-radius: 7px; padding: 12px; }
.results { min-height: 395px; }
.result-empty { display: grid; place-items: center; min-height: 270px; color: var(--muted); font-size: 1rem; text-align: center; }
.result-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.result-heading button { font-size: .875rem; padding: 8px 10px; flex-shrink: 0; }
.result-heading h2 { margin: 0; font-size: clamp(24px, 2.3vw, 30px); font-weight: 600; letter-spacing: -.035em; line-height: 1.2; }
.verdict { display: inline-flex; align-items: center; gap: 6px; font-size: .875rem; font-weight: 650; margin-bottom: 11px; color: #805214; }
.verdict::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.verdict.pass { color: #217258; }
.verdict.incomplete { color: #9b4d1e; }
.result-message { font-size: 1rem; line-height: 1.7; color: var(--muted); margin: 12px 0 0; }
.result-visual { padding: 26px 0 8px; }
figure { margin: 0; }
.count-row + .count-row { margin-top: 21px; }
.count-label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; font-size: 1rem; color: var(--muted); }
.count-label strong { font: 600 26px var(--mono); letter-spacing: -.04em; color: #263955; }
.count-track { height: 29px; border-radius: 6px; background: #edf0f7; overflow: hidden; position: relative; }
.count-fill { display: block; height: 100%; border-radius: 5px; }
.count-fill.expected { background: #667bd5; }
.count-fill.observed { background: #27846b; }
.count-track.unknown { border: 1px dashed #b17443; background: repeating-linear-gradient(135deg,#fff9f0,#fff9f0 6px,#f7edde 6px,#f7edde 8px); }
.unknown-label { position: absolute; inset: 0; text-align: center; color: #8b5022; font: 600 19px/27px var(--mono); }
.count-chart figcaption { margin-top: 13px; color: var(--muted); font-size: .875rem; }
.scope-note { color: var(--muted); font-size: .875rem; line-height: 1.6; margin: 14px 0 0; }
.time-axis { display: flex; justify-content: space-between; margin: 0 133px 12px 63px; font: .875rem var(--mono); color: var(--muted); }
.gpu-row { display: grid; grid-template-columns: 55px minmax(0,1fr) 125px; gap: 8px; align-items: center; margin: 11px 0; }
.gpu-label { font: .875rem var(--mono); color: #42536e; }
.sample-track { height: 21px; position: relative; border-radius: 4px; background: repeating-linear-gradient(135deg,#fae9dc,#fae9dc 5px,#e4b995 5px,#e4b995 7px); overflow: hidden; }
.sample-band { position: absolute; top: 0; bottom: 0; background: #27846b; }
.gpu-status { font-size: .875rem; }
.gpu-status.good { color: #217258; }
.gpu-status.missing { color: #945022; }
.chart-legend { display: flex; gap: 14px; margin: 18px 0 0 63px; color: var(--muted); font-size: .875rem; }
.chart-legend span::before { content: ""; display: inline-block; width: 10px; height: 8px; border-radius: 2px; margin-right: 5px; }
.covered-key::before { background: #27846b; }
.missing-key::before { background: repeating-linear-gradient(135deg,#fae9dc,#fae9dc 3px,#b17443 3px,#b17443 5px); }
.energy-total { display: flex; justify-content: space-between; gap: 15px; align-items: center; border-top: 1px solid var(--line); margin-top: 22px; padding-top: 17px; font-size: .875rem; color: var(--muted); }
.energy-total strong { font: 600 21px var(--mono); letter-spacing: -.04em; color: #263955; }
.report-detail { margin-top: 21px; padding-top: 16px; border-top: 1px solid var(--line); }
.report-detail p, .report-detail ul { font-size: .875rem; line-height: 1.7; color: var(--muted); }
.report-detail ul { padding-left: 16px; }
.report-detail li { margin-bottom: 6px; }
.report-detail h3 { font-size: .875rem; }
.technical { margin-top: 15px; }
.technical summary { font-size: .875rem; }
.evidence-json { padding: 13px; border-radius: 7px; background: #f4f6fa; font: .875rem/1.7 var(--mono); max-height: 240px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.sources { display: flex; flex-wrap: wrap; gap: 14px; color: #3657a6; font-size: .875rem; margin: 16px 0; }
.about { margin: 23px 0; }
.about summary { font-size: .875rem; color: var(--muted); }
.about-content { max-width: 650px; font-size: 1rem; line-height: 1.7; color: var(--muted); }
.about-content a { font-size: .875rem; }
.footer { display: flex; justify-content: space-between; gap: 14px; padding: 18px 0 25px; border-top: 1px solid var(--line); color: var(--muted); font-size: .875rem; }
.sr-only, .skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip:focus { position: fixed; top: 10px; left: 10px; z-index: 10; background: white; padding: 14px; }
@media (max-width: 850px) {
.wrap { width: calc(100% - 36px); }
.workspace { grid-template-columns: minmax(275px,.85fr) minmax(0,1.3fr); gap: 14px; }
.tool-body, .results { padding: 19px; }
.result-heading { flex-wrap: wrap; gap: 10px; }
.result-heading button { margin-left: auto; }
.case-card { gap: 10px; padding-left: 8px; font-size: 1rem; }
.case-card svg { width: 51px; }
.gpu-row { grid-template-columns: 55px minmax(0,1fr) 95px; gap: 5px; }
.time-axis { margin-left: 60px; margin-right: 100px; }
.gpu-status { font-size: .875rem; }
.chart-legend { margin-left: 60px; gap: 10px; }
.energy-total { flex-wrap: wrap; }
}
@media (max-width: 740px) {
.wrap { width: calc(100% - 28px); }
.heading { padding: 25px 0 22px; }
.subtitle { font-size: 1rem; }
.topbar nav { gap: 13px; font-size: .875rem; }
.tool-tabs { gap: 9px; margin-bottom: 15px; }
.tool-tabs button { padding: 13px 10px; gap: 9px; font-size: 1rem; }
.tool-tabs svg { width: 25px; height: 25px; }
.tool-tabs small { font-size: .875rem; line-height: 1.5; }
.workspace { grid-template-columns: 1fr; }
.panel-label { margin-bottom: 15px; }
.case-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
.case-card { flex-direction: column; gap: 5px; text-align: center; min-height: 80px; }
.case-card svg { width: 62px; }
.case-provenance { margin-bottom: 15px; }
.privacy { margin-top: 15px; }
.results { min-height: 0; }
.result-heading { flex-wrap: nowrap; }
.count-label strong, .energy-total strong { font-size: 24px; }
}
.eyebrow { margin: 0 0 10px; color: var(--blue); font-size: .875rem; font-weight: 600; }
.intro { max-width: 720px; margin: 12px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.hero-actions button { min-height: 48px; padding: 12px 20px; }
.hero-actions .primary { width: auto; }
.input-help { margin: 18px 0 12px; font-size: .875rem; line-height: 1.6; color: var(--muted); }
.input-help code { overflow-wrap: anywhere; }
.demo-note { padding: 12px 14px; background: #f3f5fa; border-radius: 8px; font-size: .875rem; color: var(--muted); margin: 0 0 22px; }
.result-next { padding: 15px 17px; margin: 18px 0 0; border-left: 3px solid #7d8ed5; background: #f5f6fc; font-size: 1rem; line-height: 1.6; }
.example-comparison { margin-top: 18px; padding: 16px; border: 1px solid #d5dcef; border-radius: 9px; background: #fafbff; }
.example-comparison p { margin: 0 0 12px; font-size: .875rem; color: var(--muted); }
.example-comparison button { min-height: 44px; border-color: #8998db; color: #3346a3; }
.result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.result-actions button { min-height: 44px; font-size: .875rem; }
#save-summary { background: var(--blue); border-color: var(--blue); color: white; }
#share-link { width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 7px; margin-top: 8px; font-size: .875rem; }
.result-heading button, .text-button { min-height: 40px; }
.case-card span { line-height: 1.45; }
.gpu-status { line-height: 1.4; }
.tool-tabs small { line-height: 1.5; }
.parameters label { flex-basis: 130px; }
.chart-legend { flex-wrap: wrap; }
@media (max-width: 740px) {
.hero-actions button { flex: 1 1 180px; }
.topbar { flex-wrap: wrap; gap: 12px; }
.topbar nav { flex-wrap: wrap; gap: 18px; }
.tool-tabs button { align-items: flex-start; }
.result-heading { flex-wrap: wrap; }
.result-heading button { margin-left: 0; }
.case-card { padding: 13px 9px; min-height: 108px; }
.result-visual { padding-top: 22px; }
}
|