* { box-sizing: border-box; font-family: 'Mulish', 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0; padding: 0; } body { display: flex; font-family: sans-serif; height: 100vh; width: 100vw; } nav { border-right: 1px solid #ddd; min-width: 320px; overflow-x: hidden; overflow-y: auto; padding: 10px; min-width: 0; max-width: 40%; width: 320px; } h1 { font-size: 20pt; } h2 { font-size: 12pt; } p { margin: 10px 0; } .error { color: #c11; font-family: monospace; white-space: pre-wrap; } #overlay { align-items: center; font-size: 125%; position: absolute; top: 0; bottom: 0; right: 0; left: 0; background-color: rgba(240, 240, 240, 0.6); backdrop-filter: blur(4px); display: none; padding: 12px; z-index: 40; } #dropzone { display: flex; flex: 1; max-width: 100vw; } #content { display: flex; flex-direction: column; flex: 1; min-width: 0; overflow: auto; } #welcome { border: 2px dashed #08e; border-radius: 10px; color: #444; margin: 10px; padding: 10px; align-items: center; cursor: pointer; display: flex; flex: 1; font-size: 20px; justify-content: center; } input[type="file"] { display: none; } #overlay { font-size: 125%; justify-content: center; position: absolute; top: 0; bottom: 0; right: 0; left: 0; background-color: rgba(240, 240, 240, 0.6); backdrop-filter: blur(4px); display: none; padding: 12px; z-index: 40; } .over #overlay { display: flex; } /* table */ table { border-collapse: separate; border-spacing: 0; } table:focus-visible { outline: none; } th { background-color: #f8f8f8; border: 1px solid #ddd; padding: 8px; text-align: left; background-color: #eaeaeb; border: none; border-top: 4px solid #706fb1; border-bottom: 2px solid #c9c9c9; box-sizing: content-box; color: #444; position: sticky; top: -1px; /* fix 1px gap above thead */ user-select: none; } th, td { border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; height: 32px; max-width: 1000px; /* prevent columns expanding */ padding: 4px 12px; text-align: left; text-overflow: ellipsis; overflow: hidden; white-space: pre-wrap; } /* row numbers */ td:first-child { background-color: #eaeaeb; border-right: 1px solid #ddd; color: #888; font-size: 10px; padding: 0 2px; position: sticky; left: 0; text-align: center; user-select: none; min-width: 32px; max-width: none; width: 32px; } #filename { font-size: 10pt; margin-top: 20px; } .sidebar { word-break: break-all; } .sidebar a { color: #445; text-decoration: none; } .sidebar a:hover { text-decoration: underline; } .layout, .layout div { background-color: rgba(100, 80, 180, 0.05); border: 1px solid #ccc; border-radius: 4px; font-size: 12px; margin-top: 4px; padding: 4px; word-break: break-all; } .cell { display: flex; } .cell label { flex: 1; font-size: 12px; font-weight: normal; justify-content: flex-start; } nav ul, .layout div ul { list-style: none; } .layout div li { font-size: 10px; padding: 2px 4px; text-align: right; } .collapsed > :not(:first-child) { display: none; } .layout h2 { cursor: pointer; user-select: none; } .layout h2::before { content: "▼"; display: inline-block; font-size: 10px; margin: 0 4px; vertical-align: middle; } .layout.collapsed h2::before { content: "▶"; } .layout pre { white-space: pre-wrap; word-break: break-all; }