*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f5f7fb;color:#172033}.page{width:min(920px,calc(100% - 28px));margin:0 auto;padding:52px 0 80px}.hero{text-align:center;margin-bottom:28px}.badge{display:inline-block;padding:7px 12px;border:1px solid #ccd5e5;border-radius:999px;background:#fff;font-size:.86rem;font-weight:700;color:#40506a}.hero h1{font-size:clamp(2.2rem,7vw,4.4rem);margin:18px 0 8px;letter-spacing:-.055em}.hero h1 span{color:#3157d5}.lead{font-size:clamp(1rem,2.6vw,1.25rem);color:#59677c;margin:0}.card,.result,.status{background:#fff;border:1px solid #dfe5ef;border-radius:22px;box-shadow:0 18px 55px rgba(24,39,75,.09)}.card{padding:24px}label{display:block;font-weight:800;margin-bottom:8px}textarea,input{width:100%;border:1px solid #c9d2e2;border-radius:13px;padding:14px 15px;font:inherit;color:inherit;background:#fff}textarea:focus,input:focus{outline:3px solid rgba(49,87,213,.16);border-color:#3157d5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}button{width:100%;margin-top:20px;border:0;border-radius:14px;padding:15px 18px;background:#172033;color:#fff;font-size:1rem;font-weight:800;cursor:pointer}button:hover{background:#3157d5}button:disabled{opacity:.6;cursor:wait}.notice{font-size:.83rem;color:#6b778b;margin:12px 0 0;text-align:center}.status{margin-top:20px;padding:18px 22px;color:#40506a}.result{margin-top:20px;padding:26px}.result-head{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ebf2;padding-bottom:15px;margin-bottom:18px}.result h2{margin:0;font-size:1.3rem}.result-head span{font-size:.75rem;background:#edf1ff;color:#3157d5;padding:6px 9px;border-radius:999px;font-weight:800}#answer{line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}#answer a{color:#3157d5;font-weight:700}.error{color:#a61b1b;background:#fff1f1;border-color:#f1bcbc}@media(max-width:650px){.page{padding-top:30px}.grid{grid-template-columns:1fr}.card,.result{padding:18px}.result-head{align-items:flex-start;flex-direction:column}}