body{font-family:system-ui,sans-serif;margin:0;display:flex;flex-direction:column;min-height:100vh}
main{flex:1;padding:1rem;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box}
.site-footer{text-align:center;padding:.75rem;font-size:.85rem;color:#666}
.demo-banner{background:#f0b429;text-align:center;padding:.25rem;font-size:.85rem}
.stack{display:flex;flex-direction:column;gap:.75rem}
.stack label{display:flex;flex-direction:column;gap:.25rem}
input,button{font:inherit;padding:.6rem;box-sizing:border-box}
button{cursor:pointer}
.error{color:#b00020}
fieldset{border:1px solid #ccc;border-radius:6px;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}
.field{display:flex;flex-direction:column;gap:.25rem}
.field small{color:#666}
.fuel{display:flex;gap:1rem}
.agreement{font-size:.9rem}
mark{background:#fff3cd}
dt{font-weight:600;margin-top:.5rem}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.btn,button{border:1px solid #888;border-radius:6px;background:#f3f3f3;padding:.6rem 1rem}
.btn{cursor:pointer;display:inline-block}
.thumbs{display:flex;flex-wrap:wrap;gap:.5rem}
.thumb{margin:0;display:flex;flex-direction:column;gap:.25rem;max-width:160px}
.thumb img{max-width:100%;border:1px solid #ccc}
.pad-wrap{position:relative;width:100%}
.pad-wrap img,.pad-wrap canvas{width:100%;height:auto;display:block}
.pad-wrap canvas{position:absolute;inset:0}
canvas.sig{width:100%;height:auto;border:1px dashed #888;background:#fff}
.list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}
.list li{border:1px solid #ccc;border-radius:6px;padding:.6rem;display:flex;flex-direction:column;gap:.35rem}
.search input{flex:1}
.mono{font-family:monospace;width:100%;box-sizing:border-box}
#dmg-wrap{cursor:crosshair}
.mark{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#e00000;color:#fff;font-size:11px;font-weight:700;line-height:26px;text-align:center;cursor:pointer;user-select:none}
