.mgf-app{--bg:#F7F1EC;--surface:#fff;--line:#E8D8CF;--accent:#47131C;--accent-2:#1f2124;--muted:#7A5D62;max-width:980px;margin:0 auto;padding:24px 16px}.mgf-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 40px rgba(71,19,28,.08);padding:24px}.mgf-progress-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.mgf-progress-bar{flex:1;height:8px;background:#F1E6DF;border-radius:999px;overflow:hidden}.mgf-progress-bar span{display:block;height:100%;width:16.6%;background:#47131C;border-radius:999px;transition:width .3s ease}.mgf-progress-text{font-family:"AvenirNextCyr",Sans-serif;font-size:14px;color:#47131C}.mgf-step{display:none}.mgf-step.is-active{display:block}.mgf-title{font-family:"Angst",Sans-serif;font-weight:500;font-size:20px;color:#1f2124;margin:0 0 16px}.mgf-text{font-family:"AvenirNextCyr",Sans-serif;font-size:15px;font-weight:400;color:#47131C;line-height:1.6;margin:0 0 12px}.mgf-grid{display:grid;grid-template-columns:1fr;gap:16px}.mgf-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mgf-field{display:flex;flex-direction:column;gap:8px}.mgf-field>span,.mgf-question{font-family:"AvenirNextCyr",Sans-serif;font-size:18px;font-weight:600;color:#47131C}.mgf-field input,.mgf-field select,.mgf-field textarea{border:1px solid #D8C2B7;border-radius:14px;padding:14px 16px;background:#fff;font-family:"AvenirNextCyr",Sans-serif;font-size:15px;font-weight:400;color:#47131C;outline:none}.mgf-field input:focus,.mgf-field select:focus,.mgf-field textarea:focus{border-color:#47131C;box-shadow:0 0 0 3px rgba(71,19,28,.12)}.mgf-stack{display:flex;flex-direction:column;gap:24px}.mgf-options,.mgf-rating{display:flex;flex-wrap:wrap;gap:10px}.mgf-options label,.mgf-rating label{position:relative}.mgf-options input,.mgf-rating input{position:absolute;opacity:0;pointer-events:none}.mgf-options span,.mgf-rating span{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:12px 16px;border:1px solid #D8C2B7;border-radius:0;background:#fff;font-family:"AvenirNextCyr",Sans-serif;font-size:15px;font-weight:400;color:#47131C;cursor:pointer;transition:.2s ease}.mgf-options input:checked+span,.mgf-rating input:checked+span{background:#47131C;color:#fff;border-color:#47131C}.mgf-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.mgf-btn{appearance:none;border:0;border-radius:0;padding:14px 20px;font-family:"AvenirNextCyr",Sans-serif;font-size:15px;font-weight:600;cursor:pointer}.mgf-btn-primary{background:#47131C;color:#fff}.mgf-btn-secondary{background:#F3E7E0;color:#47131C}.mgf-btn:disabled{opacity:.5;cursor:not-allowed}.mgf-submit-state{font-family:"AvenirNextCyr",Sans-serif;font-size:14px;color:#47131C;margin-top:12px}.is-hidden{display:none!important}.mgf-thanks{text-align:center;padding:48px 16px}@media (max-width:767px){.mgf-card{padding:18px;border-radius:18px}.mgf-grid-2{grid-template-columns:1fr}.mgf-actions{flex-wrap:wrap}.mgf-btn{flex:1}}

.mgf-app,.mgf-card,.mgf-form,.mgf-step,.mgf-grid,.mgf-grid-2,.mgf-stack,.mgf-question-group,.mgf-field,.mgf-options,.mgf-rating,.mgf-actions{min-width:0}
.mgf-field input,.mgf-field select,.mgf-field textarea{width:100%;max-width:100%}
.mgf-options,.mgf-rating{align-items:stretch}
.mgf-options label,.mgf-rating label{max-width:100%}
.mgf-options span,.mgf-rating span{max-width:100%;white-space:normal;text-align:center;word-break:break-word;line-height:1.3}
@media (max-width:767px){
  .mgf-app{padding:16px 12px}
  .mgf-card{padding:16px;border-radius:16px;overflow:hidden}
  .mgf-progress-wrap{flex-direction:column;align-items:stretch}
  .mgf-progress-text{text-align:right}
  .mgf-field>span,.mgf-question{font-size:16px;line-height:1.35}
  .mgf-text{font-size:14px}
  .mgf-options,.mgf-rating{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mgf-rating{grid-template-columns:repeat(5,minmax(0,1fr))}
  .mgf-options span,.mgf-rating span{min-width:0;width:100%;padding:12px 8px;font-size:14px}
  .mgf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mgf-btn{width:100%;min-width:0;padding:14px 12px}
}
@media (max-width:480px){
  .mgf-card{padding:14px;border-radius:14px}
  .mgf-title{font-size:18px}
  .mgf-grid,.mgf-grid-2{gap:12px}
  .mgf-stack{gap:18px}
  .mgf-options{grid-template-columns:1fr}
  .mgf-rating{grid-template-columns:repeat(5,minmax(0,1fr))}
  .mgf-options span,.mgf-rating span{font-size:13px;padding:11px 6px}
  .mgf-actions{grid-template-columns:1fr}
}
