/* SPDX-License-Identifier: GPL-3.0-only */
:root{color-scheme:light;--bg:#fff;--text:#252525;--muted:#595959;--line:#c9c9c9;--accent:#234d73;--danger:#922d27}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font:16px/1.45 Georgia,'Times New Roman',serif}main{max-width:90rem;margin:auto;padding:1.2rem clamp(1rem,2.6vw,2.5rem);min-width:0}header{margin-bottom:1rem}header nav,footer{font:14px/1.5 system-ui,-apple-system,sans-serif}header nav{margin-bottom:.6rem}h1{font-size:2rem;font-weight:normal;line-height:1.15;margin:0 0 .45rem}header p{max-width:70rem;margin:0;font-size:1rem}h2{font-size:1.2rem;margin:0;font-weight:normal}h3{font-size:1.1rem}p{margin:.6rem 0}a{color:var(--accent);text-underline-offset:2px}a:visited{color:#624577}.runbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem 1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.6rem 0;margin-bottom:.9rem;align-items:center;font:14px/1.4 system-ui,-apple-system,sans-serif}.run-actions{display:flex;gap:.45rem;grid-row:1/3}.runbar p{margin:0}#status{font-weight:600}#stats{font-size:.75rem}.runbar .error{grid-column:1/-1;margin-top:.4rem}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}.program-column,.output-column{min-width:0}.program-column section{margin-bottom:.8rem}.section-heading{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:.45rem}.output-column>h2{margin-bottom:.45rem}.controls{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem}.controls>label{flex:1 1 9rem}.controls>button{margin-bottom:.45rem}.grow{flex:1 1 12rem}.program-controls>label:first-child{flex:1.1 1 12rem}.program-controls>.file{flex:1 1 10rem}label{display:flex;flex-direction:column;gap:.2rem;font:13px/1.35 system-ui,-apple-system,sans-serif;margin-bottom:.45rem;min-width:0}.inline-label{flex-direction:row;align-items:center;gap:.5rem;margin:0}.hint{font:12px/1.4 system-ui,-apple-system,sans-serif;color:var(--muted);margin:.4rem 0}.example-note{min-height:1.4em;margin:.1rem 0 .4rem}.source-hint{margin:.3rem 0 .5rem}input,select,textarea,button{max-width:100%;border:1px solid #aaa;border-radius:2px;font:13px/1.35 system-ui,-apple-system,sans-serif;background:#fff;color:var(--text)}input,select{min-width:0;min-height:2.1rem;padding:.3rem .45rem}textarea{display:block;width:100%;resize:vertical;tab-size:8;white-space:pre;overflow:auto;padding:.55rem;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#source{height:clamp(12rem,30vh,20rem);min-height:8rem}#initialInput{height:3.3rem;min-height:2rem}button{min-height:2.1rem;padding:.3rem .65rem;cursor:pointer;font-weight:500}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.quiet{font-size:12px;min-height:1.8rem}button:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #336faa;outline-offset:2px}.tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.45rem}.tabs button{font-size:12px}.tabs button[aria-selected=true]{background:#e9eef3;border-color:var(--accent);color:var(--accent)}pre{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto;tab-size:8;min-width:0;background:#fafafa;border:1px solid var(--line);padding:.65rem;margin:0}#output{height:clamp(22rem,57vh,40rem);min-height:12rem;resize:vertical}#history{max-height:9rem}#consoleInput{margin-top:.4rem}.error{font:13px/1.45 system-ui,-apple-system,sans-serif;color:var(--danger);background:#fff2ef;padding:.5rem;overflow-wrap:anywhere}details{border-top:1px solid var(--line);padding:.65rem 0;min-width:0}summary{cursor:pointer;color:var(--accent);font:14px/1.4 system-ui,-apple-system,sans-serif;min-height:1.5rem}.plain-details{border-top:0;padding:.4rem 0}.plain-details summary{font-size:12px}.downloads{margin-top:.5rem}.mounts>div{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--line);font:13px/1.4 system-ui,-apple-system,sans-serif}.mounts span{flex:1;overflow-wrap:anywhere}.file input{font-size:12px;width:100%}#outputFiles{margin-top:.35rem}.reading-guide{border-top:1px solid var(--line);padding-top:1rem;margin-top:.3rem;max-width:65rem}.reading-guide p{max-width:58rem}.reading-guide dt{margin-top:.65rem}.reading-guide dd{margin:.15rem 0 0 1.2rem;color:#444;font-size:.95rem}footer{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.7rem;color:var(--muted)}footer p{font-size:12px;margin:.3rem 0}.prose{max-width:55rem}.prose h2{margin:1.4rem 0 .4rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:800px){.workspace{grid-template-columns:minmax(0,1fr);gap:.3rem}#source{height:14rem}#output{height:22rem}.runbar{grid-template-columns:minmax(0,1fr)}.run-actions{grid-row:auto;margin-bottom:.2rem}.runbar .error{grid-column:auto}}@media(max-width:480px){main{padding:1rem}h1{font-size:1.8rem}.controls>button{min-height:2.5rem}.tabs button{flex:1 1 auto;min-height:2.5rem}.run-actions button{min-height:2.5rem}input,select{min-height:2.4rem}.reading-guide dd{margin-left:.5rem}}

/* Editor guide uses measured font metrics, not a fixed pixel column width. */
.editor-wrap{position:relative;overflow:hidden}.editor-wrap #source{height:clamp(12rem,24vh,17rem)}#columnRule{position:absolute;top:1px;bottom:1.2rem;width:1px;background:rgba(90,90,90,.22);pointer-events:none}.program-controls>label{flex:1 1 9rem!important}.runbar{margin:.25rem 0 .45rem;padding:.45rem 0;grid-template-columns:auto minmax(0,1fr);font-size:12px}.runbar .run-actions{gap:.35rem}#dayfile,#hostlog{max-height:14rem;white-space:pre-wrap}input[type=checkbox]{width:auto;min-height:0}#draftHistory{margin-bottom:.25rem}#draftHistory .controls{margin-top:.4rem}#draftStatus{overflow-wrap:anywhere}@media(max-width:480px){.runbar{grid-template-columns:1fr}.editor-wrap #source{height:14rem}}
