body { font-family: system-ui, "Hiragino Sans", "Noto Sans JP", sans-serif; margin: 0; padding: 12px; line-height: 1.6; color: #222; max-width: 720px; }
h1 { font-size: 1.2rem; margin: 8px 0; }
h2 { font-size: 1rem; margin: 16px 0 6px; border-left: 4px solid #357; padding-left: 6px; }
button, a.btn { font-size: 1rem; padding: 8px 12px; margin: 4px 4px 4px 0; border: 1px solid #357; background: #eef3fa; border-radius: 6px; color: #123; text-decoration: none; display: inline-block; cursor: pointer; }
textarea, input[type=text] { width: 100%; box-sizing: border-box; font-size: 1rem; padding: 6px; }
textarea { min-height: 5em; }
.panel { border: 1px solid #ccd; border-radius: 6px; padding: 8px; margin: 10px 0; background: #fafbfd; }
.env dt { font-weight: bold; float: left; clear: left; width: 8em; }
.env dd { margin: 0 0 2px 8em; word-break: break-all; }
.warn { background: #fff3cd; border: 1px solid #e0b200; padding: 8px; border-radius: 6px; margin: 8px 0; }
.ok { color: #176f2c; }
.ng { color: #a11; }
#log { font-family: ui-monospace, Consolas, monospace; font-size: .8rem; white-space: pre-wrap; word-break: break-all; max-height: 18em; overflow: auto; background: #fff; border: 1px solid #ccd; padding: 6px; }
nav a { margin-right: 10px; }
pre.out { white-space: pre-wrap; word-break: break-all; font-size: .8rem; background: #fff; border: 1px solid #ccd; padding: 6px; }
