:root { color: #171713; background: #f1efe7; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-synthesis: none; } body { min-width: 20rem; margin: 0; } main { width: min(52rem, calc(100% - 3rem)); margin: 0 auto; padding: 8vh 0; } .eyebrow { margin-bottom: 0.4rem; color: #765c16; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; } h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.4rem, 8vw, 5.5rem); font-weight: 500; line-height: 0.95; } h2 { margin: 2.5rem 0 0.8rem; font-family: system-ui, sans-serif; font-size: 1rem; letter-spacing: 0.08em; text-transform: uppercase; } .lede { max-width: 47rem; margin: 2rem 0; font-family: system-ui, sans-serif; font-size: 1.1rem; line-height: 1.6; } #status { padding: 0.8rem 1rem; border: 1px solid #aaa38c; background: #e4dfce; } #status[data-state="ready"] { border-color: #4f7258; background: #dbe7db; } #status[data-state="error"] { border-color: #8a3e35; background: #f2d8d3; } #status[data-state="running"] { border-color: #765c16; background: #eee2bd; } #compiler-diagnostics { display: grid; gap: 0.5rem; padding: 0; list-style: none; } #compiler-diagnostics:empty { display: none; } #compiler-diagnostics button { width: 100%; padding: 0.75rem; border: 1px solid #8a3e35; background: #f2d8d3; color: inherit; font: inherit; text-align: left; cursor: pointer; } #compiler-diagnostics button[data-severity="warning"], #compiler-diagnostics button[data-severity="note"] { border-color: #765c16; background: #eee2bd; } #controls { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 2fr); gap: 0.75rem 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid #aaa38c; } #controls label { align-self: center; } #controls input, #controls select, #controls textarea, #controls button { padding: 0.65rem; border: 1px solid #817a66; background: #fffdf6; color: inherit; font: inherit; } #program-controls { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 2fr); grid-column: 1 / -1; gap: 0.75rem 1rem; padding: 1rem; border: 1px solid #aaa38c; } #program-controls[hidden] { display: none; } .actions { display: flex; grid-column: 2; gap: 0.75rem; } .terminal-actions { display: flex; gap: 0.75rem; } .terminal-actions input { min-width: 0; flex: 1; } #controls button { min-width: 7rem; cursor: pointer; } #controls button:disabled { cursor: not-allowed; opacity: 0.55; } #source-controls, #image-controls { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; padding: 1rem; border: 1px solid #aaa38c; } #source-controls { margin-bottom: 0.75rem; } #source-controls textarea { min-width: min(30rem, 100%); flex: 1 1 30rem; } #source-controls button, #source-controls textarea, #image-controls button, #image-controls input { padding: 0.65rem; border: 1px solid #817a66; background: #fffdf6; color: inherit; font: inherit; } dl { display: grid; grid-template-columns: minmax(12rem, 1fr) auto; border-top: 1px solid #aaa38c; } pre { min-height: 1.4rem; margin: 0; padding: 1rem; overflow-x: auto; border: 1px solid #aaa38c; background: #171713; color: #e8e3d2; line-height: 1.5; white-space: pre-wrap; } dt, dd { margin: 0; padding: 0.9rem 0; border-bottom: 1px solid #aaa38c; } dd[data-supported="true"] { color: #315b3b; } dd[data-supported="false"] { color: #8a3e35; } @media (max-width: 38rem) { #controls { grid-template-columns: 1fr; } .actions { grid-column: 1; } #program-controls { grid-template-columns: 1fr; } }