*{box-sizing:border-box}
body{margin:0;background:#0b0e11;color:#33ff66;
font-family:"Courier New",Courier,monospace;line-height:1.6;font-size:16px}
a{color:#7dff9e}
a:hover{color:#fff}
.chrome{background:#161b22;border-bottom:1px solid #2a3340;padding:8px 14px;
display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:10}
.chrome .dots span{display:inline-block;width:11px;height:11px;border-radius:50%;
margin-right:6px;background:#2a3340}
.chrome .dots span:first-child{background:#ff5f57}
.chrome .dots span:nth-child(2){background:#febc2e}
.chrome .dots span:nth-child(3){background:#28c840}
.chrome .title{color:#9aa7b4;font-size:.8rem}
.session{max-width:860px;margin:0 auto;padding:26px 18px 40px}
.prompt{color:#7dff9e}
.cmd{color:#fff}
.dim{color:#9aa7b4}
h1{font-size:1.4rem;color:#fff;margin:18px 0 6px}
h1::before{content:"$ ";color:#33ff66}
h2{font-size:1.05rem;color:#fff;margin:26px 0 8px}
h2::before{content:"# ";color:#33ff66}
.window{border:1px solid #2a3340;border-radius:8px;margin:20px 0;overflow:hidden;
background:#0e1319}
.window .wtitle{background:#161b22;padding:8px 14px;color:#9aa7b4;font-size:.8rem;
border-bottom:1px solid #2a3340}
.window .wbody{padding:18px}
label{display:block;color:#9aa7b4;font-size:.85rem;margin:12px 0 6px}
label::before{content:"> "}
input,select{width:100%;background:#0b0e11;border:1px solid #2a3340;color:#33ff66;
padding:10px 12px;font-family:inherit;font-size:1rem;border-radius:4px}
input:focus,select:focus{outline:1px solid #33ff66}
button.run{margin-top:16px;background:#33ff66;color:#0b0e11;border:0;
font-family:inherit;font-weight:700;font-size:1rem;padding:12px 24px;
border-radius:4px;cursor:pointer}
button.run:hover{background:#7dff9e}
.out{margin-top:16px;border:1px dashed #2a3340;padding:14px;border-radius:4px;
min-height:120px}
.out .k{color:#9aa7b4}
.out .v{color:#fff;font-weight:700}
hr.sep{border:0;border-top:1px dashed #2a3340;margin:26px 0}
footer.term{border-top:1px solid #2a3340;padding:18px;color:#9aa7b4;font-size:.85rem}
footer.term .inner{max-width:860px;margin:0 auto;padding:0 18px;display:flex;
flex-wrap:wrap;gap:8px 26px;justify-content:space-between}
footer.term a{color:#7dff9e;text-decoration:none}
@media(max-width:560px){body{font-size:15px}h1{font-size:1.15rem}}

/* speech-time additions */
.tabs{display:flex;gap:8px;margin:4px 0 6px}
.tab{background:#0b0e11;border:1px solid #2a3340;color:#9aa7b4;
font-family:inherit;font-size:.85rem;padding:8px 14px;border-radius:4px;cursor:pointer}
.tab.active{border-color:#33ff66;color:#33ff66}
.tab:hover{color:#fff}
textarea{width:100%;background:#0b0e11;border:1px solid #2a3340;color:#33ff66;
padding:10px 12px;font-family:inherit;font-size:1rem;border-radius:4px;resize:vertical}
textarea:focus{outline:1px solid #33ff66}
input[type=range]{accent-color:#33ff66;padding:0}
.rowline{display:flex;align-items:center;margin:10px 0 0}
.rowline .spacer{flex:1}
.linklike{background:none;border:0;color:#7dff9e;font-family:inherit;
font-size:.85rem;cursor:pointer;text-decoration:underline;padding:0}
.linklike:hover{color:#fff}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.preset{background:#0b0e11;border:1px solid #2a3340;color:#9aa7b4;
font-family:inherit;font-size:.85rem;padding:8px 12px;border-radius:4px;cursor:pointer}
.preset.on{border-color:#33ff66;color:#33ff66}
.preset:hover{color:#fff}
.small{font-size:.8rem;margin:4px 0 0}
.tlabel{color:#9aa7b4;font-size:.85rem;margin:18px 0 8px}
table.paces{width:100%;border-collapse:collapse;font-size:.95rem;margin:0 0 6px}
table.paces th,table.paces td{text-align:left;padding:8px 10px;
border-bottom:1px solid #2a3340}
table.paces th{color:#9aa7b4;font-weight:400;font-size:.85rem}
table.paces tr.sel td{color:#33ff66}
h3{font-size:1rem;color:#fff;margin:20px 0 4px}
