body { font-family: system-ui, sans-serif; max-width: 46rem; margin: 0 auto 2rem; padding: 0 1rem; color: #222; }
.warning { position: sticky; top: 0; z-index: 1; background: #fff3cd; border: 1px solid #e0b100; padding: .6rem .9rem; margin: 0 -1rem 1rem; }
header { display: flex; justify-content: space-between; align-items: center; }
section.sec { border-left: 3px solid #ccd; padding-left: .8rem; margin: 1rem 0; }
.fact { display: flex; gap: .5rem; } .fact dt { font-weight: 600; min-width: 12rem; }
.field { margin: .8rem 0; } .field label.prompt { display: block; font-weight: 600; }
.err { color: #b00; margin: .8rem 0; } .status-SUCCESSFUL { color: #070; } .status-FAILED { color: #b00; }
button { margin-right: .5rem; padding: .4rem 1rem; } .meta { color: #666; font-size: .9em; }
li.nested { margin-left: 1.5rem; }
.tools { display: flex; align-items: center; } button[aria-pressed="true"] { background: #dde6ff; }
body.split { max-width: none; }
body.split .layout { display: grid; grid-template-columns: minmax(0, 46rem) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
#reqlog { position: sticky; top: 4.5rem; max-height: calc(100vh - 5.5rem); overflow: auto; border-left: 1px solid #ccd; padding-left: 1rem; }
.reqlog-head { display: flex; justify-content: space-between; align-items: center; } .reqlog-head h2 { margin: .3rem 0; }
details.xchg { border-bottom: 1px solid #eee; padding: .3rem 0; font-size: .9em; } details.xchg summary { cursor: pointer; }
details.xchg pre { background: #f6f8fa; padding: .5rem; overflow: auto; margin: .2rem 0 .6rem; font-size: .85em; }
.st-ok { color: #070; } .st-redir { color: #666; } .st-err { color: #b00; font-weight: 600; }
details.sec-box { border: 1px solid #ccd; border-radius: 4px; margin: .6rem 0; padding: 0 .8rem; }
details.sec-box > summary { cursor: pointer; font-weight: 600; padding: .5rem 0; }
.tabs { border: 1px solid #ccd; border-radius: 4px; margin: .6rem 0; padding: 0 .8rem .5rem; }
.tabbar { display: flex; border-bottom: 1px solid #ccd; margin: 0 -.8rem .5rem; }
.tabbar button { margin: 0; border: 0; background: none; padding: .5rem 1rem; cursor: pointer; }
.tabbar button[aria-selected="true"] { border-bottom: 2px solid #335; font-weight: 600; }
table.grid { border-collapse: collapse; width: 100%; } table.grid td { padding: .1rem .5rem .1rem 0; vertical-align: top; }
table.grid td > p { margin: 0; } img.img, .md img { max-width: 100%; height: auto; display: block; margin: .4rem 0; }
.field textarea, .field select { display: block; min-width: 16rem; } .field input[type=range] { width: 12rem; vertical-align: middle; }
.hint { font-size: .85em; } label.switch { display: inline-flex; gap: .3rem; align-items: center; }
