@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@600;700;800&family=DM+Sans:wght@400;500&display=swap');

.wqez-pub { font-family:'DM Sans',sans-serif; max-width:780px; margin:0 auto; }

/* Header */
.wqez-pub-header { background:linear-gradient(135deg,#0f2d4a,#1a6fa8); border-radius:16px; padding:28px 28px 20px; margin-bottom:20px; color:#fff; }
.wqez-pub-title  { font-family:'Outfit',sans-serif; font-weight:800; font-size:1.5rem; margin:0 0 10px; }
.wqez-pub-meta   { display:flex; gap:20px; flex-wrap:wrap; font-size:.85rem; opacity:.85; }
.wqez-pub-meta span::before { margin-right:4px; }

/* Name row */
.wqez-pub-name-row { margin-bottom:20px; }
.wqez-pub-name-row label { font-weight:600; font-size:.85rem; display:block; margin-bottom:5px; color:#374151; }
.wqez-pub-name { width:100%; max-width:340px; border:1.5px solid #d1d5db; border-radius:10px; padding:9px 14px; font-size:.92rem; font-family:'DM Sans',sans-serif; }

/* Sections */
.wqez-pub-section { background:#fff; border-radius:16px; box-shadow:0 2px 12px rgba(15,45,74,.09); padding:24px; margin-bottom:20px; }
.wqez-pub-sec-title { font-family:'Outfit',sans-serif; font-weight:800; font-size:1rem; color:#0f2d4a; margin:0 0 4px; }
.wqez-pub-sec-instruct { font-size:.84rem; color:#6b7280; font-style:italic; margin:0 0 18px; }

/* Questions */
.wqez-pub-q { display:flex; gap:12px; margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid #f3f4f6; }
.wqez-pub-q:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.wqez-pub-q-num { font-family:'Outfit',sans-serif; font-weight:800; font-size:1.05rem; color:#1a6fa8; min-width:28px; }
.wqez-pub-q-inner { flex:1; }
.wqez-pub-q-text { font-size:.93rem; color:#1a2e3d; margin-bottom:12px; line-height:1.6; }

/* Options */
.wqez-pub-opts { display:flex; flex-direction:column; gap:8px; }
.wqez-pub-opt { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1.5px solid #e5e7eb; border-radius:10px; cursor:pointer; transition:all .15s; font-size:.9rem; }
.wqez-pub-opt:hover { border-color:#1a6fa8; background:#f0f7ff; }
.wqez-pub-opt input[type=radio] { accent-color:#1a6fa8; }
.wqez-pub-opt:has(input:checked) { border-color:#1a6fa8; background:#e8f4fd; }
.wqez-pub-opt-letter { font-family:'Outfit',sans-serif; font-weight:800; color:#1a6fa8; min-width:20px; }

/* Text inputs */
.wqez-pub-text-input { width:100%; border:1.5px solid #d1d5db; border-radius:10px; padding:10px 14px; font-size:.9rem; font-family:'DM Sans',sans-serif; }
.wqez-pub-textarea  { width:100%; border:1.5px solid #d1d5db; border-radius:10px; padding:10px 14px; font-size:.9rem; font-family:'DM Sans',sans-serif; resize:vertical; }
.wqez-pub-text-input:focus,.wqez-pub-textarea:focus { border-color:#1a6fa8; outline:none; box-shadow:0 0 0 3px rgba(26,111,168,.12); }

/* Marks */
.wqez-pub-q-marks { font-size:.72rem; color:#6b7280; font-weight:700; text-align:right; margin-top:6px; }

/* Feedback */
.wqez-pub-q-feedback { margin-top:8px; padding:8px 12px; border-radius:8px; font-size:.85rem; font-weight:600; }
.wqez-feedback--correct { background:#d1fae5; color:#065f46; }
.wqez-feedback--wrong   { background:#fee2e2; color:#991b1b; }
.wqez-feedback--manual  { background:#fef3c7; color:#92400e; }

/* Submit */
.wqez-pub-submit-row { text-align:center; margin:24px 0 0; }
.wqez-pub-submit { background:linear-gradient(135deg,#059669,#10b981); color:#fff; border:none; border-radius:12px; padding:14px 40px; font-family:'Outfit',sans-serif; font-weight:800; font-size:1rem; cursor:pointer; transition:all .2s; box-shadow:0 4px 16px rgba(5,150,105,.3); }
.wqez-pub-submit:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(5,150,105,.4); }
.wqez-pub-submitting { display:inline-block; margin-left:12px; color:#6b7280; font-size:.88rem; }

/* Results */
.wqez-pub-results { background:#fff; border-radius:16px; box-shadow:0 4px 24px rgba(15,45,74,.12); padding:32px 28px; margin-top:20px; display:flex; gap:28px; align-items:center; flex-wrap:wrap; }
.wqez-results-circle { width:110px; height:110px; border-radius:50%; background:linear-gradient(135deg,#0f2d4a,#1a6fa8); display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; }
.wqez-results-pct   { font-family:'Outfit',sans-serif; font-weight:800; font-size:1.5rem; color:#fff; line-height:1; }
.wqez-results-grade { font-family:'Outfit',sans-serif; font-weight:700; font-size:1rem; color:rgba(255,255,255,.8); }
.wqez-results-detail { flex:1; }
.wqez-results-score-line { font-family:'Outfit',sans-serif; font-weight:700; font-size:1.1rem; color:#0f2d4a; margin:0 0 8px; }
.wqez-results-msg  { color:#374151; font-size:.9rem; margin:0; }

.wqez-error { color:#ef4444; font-style:italic; }
