body, html { width: 100%; height: 100%; } body { padding: 0; margin: 0; display: grid; grid-template-areas: "tabs tools" "content content"; grid-template-rows: min-content 1fr; grid-template-columns: 1fr min-content ; font-family: sans-serif; font-size: 16px; } #tools, #tabs { background: #dddddd; border-bottom: 2px rgb(192, 192, 192) solid; white-space: nowrap; } #tools { grid-area: tools; white-space: nowrap; padding: 10px; display: flex; align-items: center; } #program-name { width: 150px; border: none; font-size: 14px; padding: 5px; outline: none; background: transparent; text-overflow: ellipsis; } #program-name:focus { background: white; } .changed #program-name { color: red; } .disconnected { color: red; margin-right: 20px; } .connected .disconnected { display: none; } .backend-fail { margin-right: 20px; display: none; } @keyframes blink { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } #running { color: green; margin-right: 20px; animation: 1s blink linear infinite; display: none; } .running #running { display: block; } #tools button { font-size: 20px; margin-left: 10px; } #tabs { grid-area: tabs; list-style: none; margin: 0; padding: 10px; } #tabs li { font-size: 18px; display: inline-block; padding: 5px 10px; cursor: pointer; } #tabs li.selected { background: white; } #run { width: 70px; } #notifications { position: absolute; right: 10px; background: rgba(0, 0, 0, 0.7); color: white; max-width: 350px; top: 53px; /* border: white solid 3px; */ z-index: 1; padding: 10px; font-family: monospace; font-size: 16px; white-space: pre; max-height: 400px; overflow: scroll; } #notifications:empty { display: none; } .content { display: none !important; grid-area: content; } body[data-tab="blocks"] #blockly { display: block !important; } body[data-tab="python"] #python { display: block !important; } #python { margin: 0px; padding: 10px; z-index: 999999; /* overlap some Blockly's popups */ }