* {
box-sizing: border-box;
}
html,
body {
width: 100%;
height: 100%;
margin: 0;
overflow: hidden;
background: #0b0f17;
color: #e5e7eb;
font-family:
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
sans-serif;
}
#app {
min-height: 100%;
padding: 24px;
}
.stage {
display: grid;
grid-template-columns: 800px 260px minmax(220px, 300px);
gap: 18px;
align-items: start;
}
.canvas-panel,
.readout {
border: 1px solid #263142;
border-radius: 8px;
background: #111827;
box-shadow: 0 18px 50px rgb(0 0 0 / 24%);
}
.panel-header {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 16px;
height: 44px;
padding: 0 14px;
border-bottom: 1px solid #263142;
}
h1,
h2 {
margin: 0;
font-size: 14px;
font-weight: 700;
letter-spacing: 0;
}
.panel-header span {
color: #94a3b8;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
font-size: 12px;
}
#viewportCanvas,
#worldCanvas {
line-height: 0;
}
canvas {
display: block;
}
.readout {
min-height: 644px;
padding: 14px;
}
.readout h2 {
margin-bottom: 12px;
}
#platform-readout {
display: grid;
gap: 10px;
}
#platform-readout article {
display: grid;
gap: 4px;
padding: 10px;
border: 1px solid #263142;
border-radius: 6px;
background: #0f172a;
}
#platform-readout strong {
color: #f8fafc;
font-size: 13px;
}
#platform-readout span,
#platform-readout p {
margin: 0;
color: #cbd5e1;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
font-size: 12px;
}
@media (max-width: 1440px) {
body {
overflow: auto;
}
.stage {
grid-template-columns: 800px 260px;
}
.readout {
grid-column: 1 / -1;
min-height: 0;
}
}