:root { color-scheme: light; font-family: Inter, "Noto Sans SC", system-ui, sans-serif; color: #172033; background: #f5f7fa; } html, body, #app { width: 100%; height: 100%; margin: 0; } button, select, a { font: inherit; } .sandbox { display: grid; grid-template-rows: auto 1fr; height: 100%; background: #f5f7fa; } .toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 12px 16px; background: #ffffff; border-bottom: 1px solid #d9e0ea; } .title { margin-right: auto; font-size: 17px; font-weight: 650; } .control { display: flex; gap: 6px; align-items: center; font-size: 13px; } select, button, .download { min-height: 34px; padding: 6px 10px; border: 1px solid #bdc8d8; border-radius: 6px; background: #ffffff; color: #172033; } button, .download { cursor: pointer; } button:disabled, .download.disabled { cursor: not-allowed; opacity: 0.55; } .download { text-decoration: none; } .status { min-width: 88px; font-size: 13px; color: #475467; } .error { color: #b42318; } .viewer-shell { position: relative; min-height: 0; margin: 16px; overflow: hidden; border: 1px solid #d9e0ea; border-radius: 8px; background: #ffffff; box-shadow: 0 8px 24px rgb(20 32 54 / 8%); } #molstar-viewer { position: absolute; inset: 0; } .empty-state { position: absolute; z-index: 5; inset: 0; display: grid; place-items: center; padding: 24px; text-align: center; background: #ffffff; } @media (max-width: 800px) { .title { width: 100%; } .toolbar { align-items: stretch; } .control { flex: 1 1 220px; } .control select { flex: 1; } }