*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,Arial,sans-serif;color:#1d2939;background:#f7f8fa}header{background:#202b40;color:white;padding:14px max(16px,calc((100vw - 860px)/2))}main{max-width:860px;margin:24px auto;padding:0 16px}h1{font-size:clamp(23px,4vw,34px)}section{background:white;border:1px solid #d8dee6;border-radius:9px;padding:20px;margin:18px 0}h2{font-size:20px;margin:0 0 12px}.notice{padding:16px;background:#fff5d9;border-left:4px solid #ae7200;border-radius:6px}label{display:block;margin-bottom:8px}input,textarea{display:block;width:100%;padding:10px;border:1px solid #8290a3;border-radius:5px;font:inherit}button{font:inherit;padding:8px 13px;margin:6px 5px 6px 0;border:1px solid #254b72;border-radius:6px;background:#244e75;color:white;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f0ab00;outline-offset:3px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}#history{min-height:180px;max-height:460px;overflow-y:auto;padding:12px;background:#f8fafb;border:1px solid #d4dce6;border-radius:6px;margin-bottom:18px;white-space:pre-wrap;overflow-wrap:anywhere}.message{padding:10px 12px;margin:8px 0;background:white;border-radius:6px;border-left:3px solid #5984ad}.user{border-left-color:#285979;background:#eaf1f7}.role{display:block;font-size:12px;font-weight:bold;margin-bottom:3px}footer{text-align:center;font-size:12px;color:#475467;margin:30px 12px}
