.progress-intro{max-width:72ch}.progress-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.2fr);gap:1.25rem;align-items:start}
.progress-layout fieldset{border:0;padding:0;margin:0;min-width:0}.progress-layout .field{margin-bottom:1rem}
.progress-layout legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0;margin:-1px}
#progress-appearance{margin-top:1rem;border-top:1px solid #263743;padding-top:.5rem}#progress-appearance summary{cursor:pointer;min-height:44px;padding:.5rem 0}#progress-appearance[open] summary{margin-bottom:.75rem}
.progress-layout label{display:block;margin-bottom:.35rem}.progress-layout input:not([type=checkbox]),.progress-layout select{box-sizing:border-box;width:100%;min-height:44px;background:#0b0f14;color:#d8f3ff;border:1px solid #53646d;border-radius:6px;padding:.5rem}
.progress-layout input[type=range]{padding:0;accent-color:#2dd4bf}.progress-layout .progress-percent{display:flex;align-items:center;gap:.5rem;min-height:44px}
.progress-layout .progress-percent input{width:18px;height:18px;flex:0 0 auto}.progress-layout .progress-percent label{margin:0}
.progress-row{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:.5rem;border-top:1px solid #263743;padding:1rem 0}
.progress-row .field{margin:0}.progress-row button{grid-column:1/-1;justify-self:start}.progress-layout .button{min-height:44px;transition:none}
.progress-output-wrap{overflow:auto;max-width:100%;background:#0b0f14;border:1px solid #263743;border-radius:8px;padding:1rem}
#progress-output{white-space:pre;font:14px/1.5 "Courier New",monospace;margin:0;color:#d8f3ff;min-height:5rem}
.progress-guide{margin-top:2rem;max-width:80ch}.progress-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.progress-examples pre{overflow:auto;white-space:pre;font:14px/1.5 "Courier New",monospace}
@media(max-width:800px){.progress-layout{grid-template-columns:minmax(0,1fr)}.progress-examples{grid-template-columns:minmax(0,1fr)}}
