/* MockTest Pro v3 — Frontend CSS (Mobile Responsive) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
.mtp-wrapper{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
    max-width:860px;margin:20px auto;background:#f4f6fb;
    border-radius:18px;overflow:hidden;
    box-shadow:0 10px 40px rgba(0,0,0,.12);position:relative;color:#1a1a2e;
}
/* Registration */
.mtp-reg-header{background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;text-align:center;padding:36px 24px 28px;}
.mtp-reg-icon{font-size:52px;margin-bottom:8px;}
.mtp-reg-header h2{font-size:22px;font-weight:700;margin-bottom:6px;line-height:1.3;}
.mtp-reg-desc{opacity:.8;font-size:14px;}
.mtp-info-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;background:#0f3460;padding:12px 16px;}
.mtp-info-chip{background:rgba(255,255,255,.14);color:#fff;border-radius:20px;padding:6px 14px;font-size:13px;display:flex;align-items:center;gap:6px;}
.mtp-reg-body{padding:24px;background:#fff;}
.mtp-reg-body h3{font-size:16px;font-weight:600;margin-bottom:18px;color:#1a1a2e;}
.mtp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
.mtp-field label{display:block;font-size:12px;font-weight:700;color:#555;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px;}
.mtp-field input{width:100%;padding:11px 13px;border:2px solid #e3e6ec;border-radius:9px;font-size:14px;font-family:inherit;transition:border .2s;}
.mtp-field input:focus{outline:none;border-color:#0f3460;}
.mtp-field input.mtp-err{border-color:#e74c3c;}
.req{color:#e74c3c;}
.mtp-notice{background:#fff9e6;border-left:4px solid #f39c12;padding:11px 14px;border-radius:0 8px 8px 0;font-size:13px;color:#7d5a00;margin-bottom:18px;}
.mtp-err-txt{color:#e74c3c;font-size:13px;margin-top:10px;}
/* Buttons */
.mtp-btn{display:inline-block;padding:13px 28px;background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;border:none;border-radius:10px;font-size:15px;font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;}
.mtp-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(15,52,96,.35);}
.mtp-btn-lg{width:100%;text-align:center;font-size:16px;padding:15px;}
.mtp-btn-submit{background:linear-gradient(135deg,#1a8a4a,#27ae60);padding:14px 36px;}
.mtp-btn-retry{background:linear-gradient(135deg,#e67e22,#f39c12);width:100%;text-align:center;font-size:15px;padding:15px;}
/* Top bar */
.mtp-topbar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1a1a2e,#0f3460);padding:13px 18px;gap:10px;position:sticky;top:0;z-index:99;}
.mtp-topbar-title{color:#fff;font-size:14px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mtp-timer{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);color:#fff;border-radius:20px;padding:7px 14px;font-size:17px;font-weight:700;letter-spacing:1px;flex-shrink:0;}
.mtp-timer-warn{background:rgba(231,76,60,.9)!important;animation:blink 1s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.6}}
/* Progress */
.mtp-progress-wrap{background:#e3e6ec;height:6px;position:relative;}
.mtp-progress-bar{height:100%;background:linear-gradient(90deg,#27ae60,#2ecc71);transition:width .3s;}
.mtp-prog-txt{position:absolute;right:10px;top:7px;font-size:11px;font-weight:700;color:#555;white-space:nowrap;}
/* Q Nav */
.mtp-q-nav-panel{display:flex;flex-wrap:wrap;gap:7px;padding:12px 16px;background:#fff;border-bottom:1px solid #eee;}
.mtp-qnav-btn{width:36px;height:36px;border-radius:8px;border:2px solid #dde0e8;background:#fff;font-size:13px;font-weight:600;color:#444;cursor:pointer;transition:all .15s;padding:0;}
.mtp-qnav-btn:hover{border-color:#0f3460;color:#0f3460;}
.mtp-qnav-btn.mtp-qnav-ans{background:#27ae60;border-color:#27ae60;color:#fff;}
.mtp-qnav-btn.mtp-qnav-cur{border-color:#0f3460;color:#0f3460;box-shadow:0 0 0 2px rgba(15,52,96,.2);}
/* Question block */
#mtp-qcon{padding:16px;min-height:360px;}
.mtp-qblock{display:none;background:#fff;border-radius:12px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.mtp-qmeta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:6px;}
.mtp-qnum{font-size:12px;font-weight:700;color:#0f3460;text-transform:uppercase;letter-spacing:.8px;}
.mtp-qmark{background:#e8f0fe;color:#0f3460;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:700;}
.mtp-qtext{font-size:16px;line-height:1.7;color:#1a1a2e;margin-bottom:14px;font-weight:500;}
.mtp-qimg{max-width:100%;max-height:260px;object-fit:contain;border-radius:8px;margin:10px 0 16px;border:1px solid #eee;display:block;}
/* Options */
.mtp-opts{display:flex;flex-direction:column;gap:10px;}
.mtp-opt{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:2px solid #e3e6ec;border-radius:10px;cursor:pointer;transition:all .15s;background:#fafbfc;user-select:none;}
.mtp-opt:hover{border-color:#0f3460;background:#f0f5ff;}
.mtp-opt.mtp-opt-sel{border-color:#0f3460;background:#e8f0fe;}
.mtp-opt-key{min-width:32px;height:32px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#555;flex-shrink:0;}
.mtp-opt.mtp-opt-sel .mtp-opt-key{background:#0f3460;color:#fff;}
.mtp-opt-body{flex:1;}
.mtp-opt-txt{font-size:15px;line-height:1.5;color:#222;display:block;}
.mtp-oimg{max-width:100%;max-height:120px;object-fit:contain;margin-top:8px;border-radius:6px;border:1px solid #eee;display:block;}
/* Nav buttons */
.mtp-qnav-row{display:flex;justify-content:space-between;margin-top:20px;gap:10px;}
.mtp-nav-btn{padding:10px 22px;border:2px solid #dde0e8;border-radius:8px;background:#fff;font-size:14px;font-family:inherit;font-weight:600;color:#444;cursor:pointer;transition:all .15s;}
.mtp-nav-btn:hover:not([disabled]){border-color:#0f3460;color:#0f3460;}
.mtp-nav-btn[disabled]{opacity:.4;cursor:not-allowed;}
/* Submit */
.mtp-submit-row{background:#fff;border-top:1px solid #eee;padding:18px;text-align:center;}
.mtp-submit-hint{font-size:13px;margin-bottom:12px;}
/* Result */
.mtp-res-top{background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;padding:36px 24px 28px;text-align:center;}
.mtp-res-emoji{font-size:56px;margin-bottom:6px;}
.mtp-res-grade{font-size:22px;font-weight:700;margin-bottom:20px;}
.mtp-res-ring{position:relative;width:130px;height:130px;margin:0 auto 16px;}
.mtp-res-ring svg{width:100%;height:100%;}
.mtp-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.mtp-ring-num{font-size:32px;font-weight:800;}
.mtp-ring-den{font-size:13px;opacity:.75;}
.mtp-pass-tag{margin:0 auto 14px;display:inline-block;padding:6px 20px;border-radius:20px;font-weight:700;font-size:14px;}
.mtp-passed{background:#27ae60;}.mtp-failed{background:#e74c3c;}
.mtp-res-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:16px;}
.mtp-chip{text-align:center;}.mtp-chip span{display:block;font-size:22px;font-weight:700;}
.mtp-chip small{font-size:11px;opacity:.75;}
.mtp-res-breakdown{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.mtp-brk{padding:5px 14px;border-radius:14px;font-size:13px;font-weight:600;background:rgba(255,255,255,.15);}
/* Review */
.mtp-review-wrap{padding:20px;}
.mtp-review-h{font-size:16px;font-weight:700;margin-bottom:16px;color:#1a1a2e;}
.mtp-rev-card{background:#fff;border-radius:12px;padding:18px 20px;margin-bottom:14px;border-left:5px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.mtp-rev-card.correct{border-left-color:#27ae60;}
.mtp-rev-card.wrong{border-left-color:#e74c3c;}
.mtp-rev-card.skipped{border-left-color:#f39c12;}
.mtp-rev-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap;}
.mtp-rev-num{font-size:11px;font-weight:700;color:#888;text-transform:uppercase;}
.mtp-rev-badge{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700;background:#f0f0f0;}
.correct .mtp-rev-badge{background:#eafaf1;color:#1e8449;}
.wrong   .mtp-rev-badge{background:#fdedec;color:#c0392b;}
.skipped .mtp-rev-badge{background:#fef9e7;color:#b7770d;}
.mtp-rev-opts{margin-top:12px;}
.mtp-rev-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 13px;border-radius:8px;border:2px solid #eee;margin-bottom:7px;}
.mtp-rev-correct{border-color:#27ae60!important;background:#eafaf1!important;}
.mtp-rev-wrong{border-color:#e74c3c!important;background:#fdedec!important;}
.mtp-exp{background:#fffde7;border-left:4px solid #f39c12;padding:12px 14px;border-radius:0 8px 8px 0;margin-top:14px;}
.mtp-exp-txt{font-size:14px;color:#5d4037;line-height:1.6;}
.mtp-exp-img{max-width:100%;max-height:200px;object-fit:contain;margin-top:10px;border-radius:6px;border:1px solid #eee;display:block;}
.mtp-retry-row{padding:20px;text-align:center;}
/* Overlay */
.mtp-overlay{position:absolute;inset:0;background:rgba(255,255,255,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;}
.mtp-spinner{width:46px;height:46px;border:5px solid #e0e0e0;border-top-color:#0f3460;border-radius:50%;animation:spin .75s linear infinite;margin-bottom:12px;}
@keyframes spin{to{transform:rotate(360deg);}}
/* Test list */
.mtp-test-list{padding:10px 0;}
.mtp-list-title{font-size:20px;font-weight:700;margin-bottom:18px;color:#1a1a2e;}
.mtp-tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;}
.mtp-test-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 3px 14px rgba(0,0,0,.08);border-top:4px solid #0f3460;transition:transform .2s;}
.mtp-test-card:hover{transform:translateY(-3px);}
.mtp-test-card h3{font-size:16px;color:#1a1a2e;margin-bottom:6px;}
.mtp-test-card p{color:#666;font-size:13px;margin-bottom:12px;}
.mtp-test-meta{display:flex;gap:12px;font-size:12px;color:#888;margin-bottom:14px;flex-wrap:wrap;}
.mtp-no-tests{color:#999;}
/* Responsive */
@media(max-width:600px){
    .mtp-wrapper{border-radius:0;margin:0;}
    .mtp-form-grid{grid-template-columns:1fr;}
    .mtp-reg-body{padding:16px;}
    .mtp-qblock{padding:16px;}
    .mtp-qtext{font-size:15px;}
    .mtp-opt-txt{font-size:14px;}
    .mtp-topbar-title{font-size:12px;}
    .mtp-timer{font-size:15px;padding:6px 10px;}
    .mtp-q-nav-panel{padding:10px;gap:5px;}
    .mtp-qnav-btn{width:32px;height:32px;font-size:12px;}
    .mtp-res-ring{width:110px;height:110px;}
    .mtp-ring-num{font-size:26px;}
    .mtp-review-wrap{padding:12px;}
    .mtp-tests-grid{grid-template-columns:1fr;}
}
@media(max-width:380px){
    .mtp-info-chip{font-size:11px;padding:5px 10px;}
    .mtp-qnav-btn{width:28px;height:28px;font-size:11px;}
}
