*{box-sizing:border-box}body{margin:0;background:#f2f5fa;color:#18273d;font:16px/1.6 system-ui,sans-serif}header{background:#fff;border-bottom:1px solid #dde4ef;padding:20px max(24px,calc((100% - 960px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}a{color:#2258ba}header>a{font-weight:800;text-decoration:none}nav{display:flex;gap:18px;align-items:center}main{max-width:960px;margin:36px auto;padding:0 20px}h1{font-size:clamp(26px,4vw,38px);line-height:1.2}h2{font-size:21px}.intro{margin-bottom:30px}.badge{font-size:12px;letter-spacing:2px;font-weight:800;color:#2258ba}.card{background:white;border:1px solid #dde4ef;border-radius:18px;padding:28px;margin:22px 0;box-shadow:0 8px 24px #1b376008}.narrow{max-width:480px;margin:60px auto}label{display:block;margin:14px 0 6px;font-weight:600}input,textarea{font:inherit;padding:12px 14px;border:1px solid #b8c6d9;border-radius:9px;width:100%;background:white;color:inherit}textarea{min-height:110px;resize:vertical}button{font:inherit;background:#2258ba;color:white;border:0;border-radius:9px;padding:12px 20px;cursor:pointer;margin-top:12px;white-space:nowrap}button:hover{background:#164590}.row{display:flex;gap:12px;align-items:center}.row input{flex:1;min-width:0}.row button{margin:0}.messages{max-height:520px;overflow:auto;padding:5px 0 20px}.bubble{max-width:88%;border-radius:14px;padding:12px 18px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble p{margin:4px 0}.assistant{background:#edf2fa}.user{background:#2258ba;color:white;margin-left:auto}.notice{background:#e4f5eb;padding:16px;border-radius:10px}.error{background:#ffe7e7;padding:14px;border-radius:10px}details,article{border-top:1px solid #dde4ef;padding:18px 0}summary{cursor:pointer;font-weight:700}.check{display:flex;gap:10px;align-items:center}.check input{width:auto}.danger{background:#a72e3c}.preserve{white-space:pre-wrap}footer{text-align:center;padding:24px;color:#60718b}header form{margin:0}header button{font-size:13px;margin:0;padding:8px}small{color:#60718b}@media(max-width:600px){header{align-items:flex-start;flex-direction:column}nav{flex-wrap:wrap;font-size:14px}.card{padding:18px}.row{flex-wrap:wrap}.row input{flex-basis:100%}}
