Blob Opera MIDI / public / style.css
public/style.css2.2 KB
:root {
--ink: #111;
--line: #111;
--muted: #555;
--hair: #ccc;
--accent: #111;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: Menlo, Consolas, "Courier New", monospace;
font-size: 14px;
line-height: 1.5;
color: var(--ink);
background: #fff;
}
main {
max-width: 640px;
margin: 0 auto;
padding: 2rem 1rem 4rem;
}
header h1 {
margin: 0;
font-size: 1.2rem;
font-weight: 700;
}
header p {
margin: 0.25rem 0 1.5rem;
color: var(--muted);
}
/* File input: a plain bordered bar, not a card. */
.drop {
border: 1px solid var(--line);
padding: 0.9rem 1rem;
cursor: pointer;
background: #fff;
}
.drop.hover {
background: #f0f0f0;
}
.drop p {
margin: 0.15rem 0;
}
.hint {
color: var(--muted);
}
code {
font-family: inherit;
}
code::before {
content: "[";
}
code::after {
content: "]";
}
/* Track list: simple hairline-separated rows. */
.tracks {
margin: 1rem 0 0;
}
.track {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: 0.45rem 0;
border-bottom: 1px solid var(--hair);
}
.track-info {
display: flex;
flex-direction: column;
min-width: 0;
}
.track-info strong {
font-weight: 700;
}
.track-info span {
color: var(--muted);
}
select {
font-family: inherit;
font-size: inherit;
padding: 0.15rem 0.3rem;
border: 1px solid var(--line);
background: #fff;
color: inherit;
}
.fold {
display: flex;
align-items: center;
gap: 0.5rem;
margin: 1rem 0 0;
color: var(--muted);
cursor: pointer;
}
.fold input {
accent-color: var(--accent);
}
#play {
font-family: inherit;
font-size: inherit;
margin-top: 1.25rem;
padding: 0.4rem 1.4rem;
border: 1px solid var(--accent);
background: #fff;
color: var(--accent);
cursor: pointer;
}
#play:hover:not(:disabled) {
background: var(--accent);
color: #fff;
}
#play:disabled {
color: var(--muted);
border-color: var(--hair);
cursor: not-allowed;
}
#status {
margin: 0.9rem 0 0;
min-height: 1.2em;
color: var(--muted);
}
#status.ok {
color: var(--accent);
}
#status.err {
color: #b00;
}
.stage {
margin-top: 1.5rem;
border: 1px solid var(--line);
}
.stage iframe {
display: block;
width: 100%;
height: min(90vh, 760px);
min-height: 640px;
border: 0;
}
