body{margin:0;background:#f6f7fb;color:#17191f;font-family:system-ui,sans-serif}
header{height:70px;background:#fff;border-bottom:1px solid #e5e6eb;display:flex;justify-content:space-between;align-items:center;padding:0 6vw}
main{max-width:900px;margin:auto;padding:55px 22px}
.hero h1{font-size:50px;max-width:760px}
.hero p{font-size:19px;color:#666;max-width:700px}
.hero textarea{width:100%;max-width:700px;min-height:70px;padding:14px;border:1px solid #d9dce4;border-radius:10px;font:inherit;margin-top:14px;box-sizing:border-box}
.card{background:#fff;border:1px solid #e2e4ea;border-radius:18px;padding:30px;margin:18px 0}
.hidden{display:none}
button{background:#17191f;color:#fff;border:0;border-radius:10px;padding:13px 20px;font-weight:700;margin:8px 5px 0 0;cursor:pointer}
button:disabled{opacity:.6;cursor:default}
button.secondary{background:#fff;color:#17191f;border:1px solid #d9dce4}
.choice{display:block;width:100%;text-align:left;background:#fff;color:#17191f;border:1px solid #ddd}
.input,textarea{width:100%;padding:14px;border:1px solid #d9dce4;border-radius:10px;font:inherit;box-sizing:border-box}
.result{border:1px solid #e1e3e9;border-radius:14px;padding:18px;margin:12px 0}
.result details{margin-top:10px;border-top:1px dashed #e5e6eb;padding-top:10px}
.result summary{cursor:pointer;font-weight:700;color:#454ca7}
.source{font-size:12px;color:#666;margin-top:8px}
.notice{font-size:13px;color:#666}
pre{white-space:pre-wrap;background:#f7f8fb;padding:18px;border-radius:10px}
.autocomplete{position:relative}
.suggestions{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #dfe1e8;border-radius:12px;box-shadow:0 12px 30px rgba(20,25,40,.12);padding:6px;max-height:300px;overflow:auto}
.suggestions.hidden{display:none}
.suggestion{display:block;width:100%;text-align:left;background:#fff;color:#17191f;border:0;border-radius:8px;padding:11px 12px;font:inherit}
.suggestion:hover{background:#f3f4ff;color:#454ca7}
.roadmap{list-style:none;margin:0;padding:0;border-left:3px solid #e2e4ea;margin-left:8px}
.rm-step{position:relative;padding:6px 0 20px 24px}
.rm-step::before{content:"";position:absolute;left:-9px;top:8px;width:14px;height:14px;border-radius:50%;background:#17191f}
.rm-step.rm-needed::before{background:#c0392b}
.rm-title{font-weight:700}
.rm-detail{color:#444;margin-top:2px}
.rm-reqs{font-size:12px;color:#666;margin-top:4px}
.rm-status{font-size:12px;font-weight:700;margin-top:4px;color:#454ca7}
.rm-step.rm-needed .rm-status{color:#c0392b}
.rm-basis{color:#666;font-size:13px}
button.small{padding:8px 14px;font-size:13px;margin:0}
header{position:relative}
header button.small{margin-left:auto}
.upsell{background:#fff7e6;border:1px solid #f0d9a0;border-radius:10px;padding:12px 14px;font-size:14px}
.upsell a{color:#454ca7;font-weight:700}
table.compare{width:100%;border-collapse:collapse;margin-top:10px}
table.compare th,table.compare td{border:1px solid #e1e3e9;padding:8px 10px;text-align:left;font-size:14px}
table.compare th{background:#f6f7fb}
.currency-label{display:block;margin:8px 0 14px;font-size:14px;color:#444}
.currency-label select{padding:8px;border-radius:8px;border:1px solid #d9dce4;font:inherit;margin-left:6px}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.plan-card{border:1px solid #e1e3e9;border-radius:14px;padding:16px;display:flex;flex-direction:column}
.plan-card h3{margin:0 0 4px;font-size:16px}
.plan-price{font-size:22px;font-weight:800;margin-bottom:10px}
.plan-card ul{margin:0 0 12px;padding-left:18px;font-size:13px;color:#444;flex:1}
.plan-card li{margin-bottom:4px}
.plan-card button{width:100%}
