chua's picture
Publish Audio8 ASR ONNX runtime
bc8e2a9
Raw
History Blame Contribute Delete
5.54 kB
:root {
color-scheme: light;
--bg: #eef1f5;
--panel: #ffffff;
--panel-soft: #f7f9fb;
--ink: #16202a;
--muted: #687484;
--line: #d8dee7;
--accent: #0b766d;
--accent-strong: #075c55;
--accent-ink: #ffffff;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
background: var(--bg);
color: var(--ink);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.shell {
width: min(1240px, calc(100vw - 32px));
margin: 20px auto;
display: grid;
grid-template-columns: minmax(0, 1fr) 380px;
gap: 14px;
}
.workspace,
.panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
box-shadow: 0 1px 2px rgba(24, 32, 42, 0.05);
}
.workspace {
padding: 18px;
}
.panel {
padding: 14px;
}
.monitor {
display: grid;
align-content: start;
gap: 12px;
}
.topbar,
.panel-head,
.result-head,
.precision-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.topbar {
align-items: flex-start;
}
h1,
h2,
p {
margin: 0;
}
h1 {
font-size: 26px;
font-weight: 720;
letter-spacing: 0;
}
h2 {
font-size: 16px;
font-weight: 700;
letter-spacing: 0;
}
p,
span,
label,
small,
#metricStamp,
#latency {
color: var(--muted);
}
.runtime-pill {
min-width: 86px;
padding: 6px 10px;
border-radius: 8px;
background: #e9f7f4;
color: var(--accent-strong);
text-align: center;
font-size: 13px;
font-weight: 700;
}
.toolbar,
.upload-row,
.controls {
margin-top: 16px;
display: flex;
flex-wrap: wrap;
align-items: end;
gap: 10px;
}
.controls label {
flex: 1;
}
.controls input {
width: 100%;
}
.hotword-panel {
width: 100%;
display: grid;
gap: 10px;
}
.hotword-options {
display: grid;
grid-template-columns: max-content max-content minmax(220px, 1fr);
align-items: center;
gap: 10px;
padding: 10px;
border: 1px solid #e6b7b7;
border-radius: 8px;
background: #fff7f7;
}
.hotword-options > span {
font-size: 12px;
font-weight: 750;
}
.risk-note {
color: #a23b35;
font-size: 13px;
line-height: 1.35;
}
.precision-row {
justify-content: flex-start;
margin-top: 16px;
padding: 10px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel-soft);
}
.precision-note {
margin-left: auto;
font-size: 13px;
}
button,
input {
height: 38px;
border-radius: 7px;
border: 1px solid var(--line);
font: inherit;
}
button {
padding: 0 14px;
background: #ffffff;
color: var(--ink);
cursor: pointer;
}
button.primary {
background: var(--accent);
border-color: var(--accent);
color: var(--accent-ink);
}
button:hover:not(:disabled) {
border-color: var(--accent);
}
button:disabled {
opacity: 0.45;
cursor: not-allowed;
}
label {
display: grid;
gap: 5px;
font-size: 12px;
font-weight: 650;
}
input {
min-width: 128px;
padding: 0 10px;
color: var(--ink);
background: #ffffff;
}
input[type="file"] {
min-width: min(360px, 100%);
padding: 7px 10px;
}
.segments {
display: inline-grid;
grid-auto-flow: column;
grid-auto-columns: 74px;
gap: 4px;
padding: 3px;
border: 1px solid var(--line);
border-radius: 8px;
background: #ffffff;
}
.segments.compact {
grid-auto-columns: 88px;
}
.segments button {
height: 30px;
padding: 0;
border-color: transparent;
border-radius: 6px;
font-size: 13px;
font-weight: 750;
}
.segments button.active {
background: var(--accent);
color: var(--accent-ink);
}
audio {
width: 100%;
margin-top: 16px;
}
.result-surface {
margin-top: 16px;
}
.transcript {
min-height: 176px;
margin-top: 10px;
padding: 16px;
border: 1px solid var(--line);
border-radius: 8px;
background: #fbfcfe;
font-size: 22px;
line-height: 1.55;
word-break: break-word;
}
.raw-box {
margin-top: 12px;
}
.raw-box summary {
cursor: pointer;
color: var(--muted);
font-size: 13px;
font-weight: 650;
}
pre {
max-height: 240px;
overflow: auto;
margin: 10px 0 0;
padding: 12px;
border-radius: 8px;
background: #101820;
color: #d8e7ef;
font-size: 12px;
line-height: 1.45;
white-space: pre-wrap;
}
.kv-list {
margin-top: 12px;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.kv-list div {
min-height: 62px;
display: grid;
align-content: center;
gap: 4px;
padding: 10px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel-soft);
}
.kv-list span,
.gpu-line span {
font-size: 12px;
}
.kv-list strong {
font-size: 14px;
overflow-wrap: anywhere;
}
.gpu-list {
display: grid;
gap: 10px;
margin-top: 12px;
}
.gpu-item {
display: grid;
gap: 6px;
}
.gpu-line {
display: flex;
justify-content: space-between;
gap: 10px;
}
.bar {
height: 8px;
border-radius: 999px;
background: #e4e9f0;
overflow: hidden;
}
.bar i {
display: block;
height: 100%;
background: var(--accent);
}
.empty {
color: var(--muted);
font-size: 13px;
}
@media (max-width: 920px) {
.shell {
grid-template-columns: 1fr;
}
.monitor {
grid-template-columns: 1fr;
}
}
@media (max-width: 560px) {
.shell {
width: calc(100vw - 18px);
margin: 9px auto;
}
.workspace,
.panel {
padding: 12px;
}
h1 {
font-size: 22px;
}
.transcript {
font-size: 18px;
}
.hotword-options {
grid-template-columns: 1fr;
align-items: stretch;
}
.segments.compact {
grid-auto-columns: minmax(0, 1fr);
}
}