html,
body {
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
font: var(--openidea-font-size, 13px) var(--openidea-font-ui, system-ui, sans-serif);
color: var(--openidea-fg);
background: var(--openidea-bg, transparent);
}
.toolbar {
position: absolute;
top: 8px;
right: 8px;
z-index: 1;
display: flex;
align-items: center;
gap: 2px;
padding: 2px;
border: 1px solid var(--openidea-border);
border-radius: 6px;
background: var(--openidea-bg-elevated, var(--openidea-bg));
}
.toolbar button,
.toolbar select {
height: 24px;
min-width: 24px;
padding: 0 6px;
font: inherit;
font-size: 12px;
color: var(--openidea-fg);
background: transparent;
border: 1px solid transparent;
border-radius: 4px;
cursor: pointer;
}
.toolbar select {
border-color: var(--openidea-border);
background: var(--openidea-bg-input, transparent);
}
.toolbar button:hover {
background: var(--openidea-bg-hover);
}
.toolbar .sep {
width: 1px;
height: 16px;
margin: 0 2px;
background: var(--openidea-border);
}
#zoom-label {
display: inline-block;
min-width: 36px;
font-variant-numeric: tabular-nums;
}
.stage {
position: absolute;
inset: 0;
overflow: auto;
cursor: grab;
}
.stage.panning {
cursor: grabbing;
}
.canvas {
display: inline-block;
padding: 16px;
user-select: none;
}
.canvas svg {
display: block;
}
.canvas.stale {
opacity: 0.35;
}
.banner {
position: absolute;
left: 8px;
right: 8px;
bottom: 8px;
z-index: 1;
padding: 6px 8px;
white-space: pre-wrap;
font-family: var(--openidea-font-mono, ui-monospace, monospace);
font-size: 12px;
color: var(--openidea-danger);
border: 1px solid color-mix(in srgb, var(--openidea-danger) 40%, transparent);
border-radius: 6px;
background: var(--openidea-bg-elevated, var(--openidea-bg));
}