body { font-family: system-ui, sans-serif; margin: 0; color: #222; }
.qbar { position: sticky; top: 0; z-index: 10; background: #fffbe6; border-bottom: 1px solid #e5d48a; padding: .5rem 1.2rem; font-weight: 600; }
.screen { padding: 1rem 1.2rem; }
h1 { font-size: 1.3rem; margin: .2rem 0 1rem; }
.choice { margin: .6rem 0; }
.choice button { font-size: 1.1rem; padding: .7rem 1.2rem; width: 320px; max-width: 100%; }
label { display: block; margin: .5rem 0 .2rem; }
input[type=text], #q { width: 100%; font: inherit; padding: .5rem; box-sizing: border-box; }
.buttons { margin-top: 1rem; }
.buttons button { font: inherit; padding: .5rem 1rem; margin-right: .6rem; }
#block-main { height: 70vh; overflow: auto; border: 1px solid #999; border-radius: 6px; }
#path { width: 100%; border-collapse: collapse; }
#path th, #path td { border-bottom: 1px solid #ddd; padding: .35rem .5rem; text-align: left; vertical-align: top; font-size: .9rem; }
#path th { background: #f3f3f3; position: sticky; top: 0; }
#path td.addr { font-family: monospace; width: 8rem; }
#path td.mark { width: 5rem; text-align: center; }
.mark-btn { cursor: pointer; border: 1px solid #bbb; background: #fff; border-radius: 4px; padding: 0 .3rem; }
.mark-btn.on { background: #ffe9a8; }
.branch { margin: .2rem 0 .6rem; padding-left: .6rem; border-left: 2px solid #ddd; }
.sides { display: flex; gap: 1rem; margin-top: .8rem; }
.side { width: 50%; border: 1px solid #999; border-radius: 6px; padding: .5rem .7rem; box-sizing: border-box; }
.side .sd { font-weight: 600; margin-bottom: .3rem; }
.side.hidden { visibility: hidden; }
.note { color: #666; margin-top: .6rem; }
