/* === ОФИЦИАЛЬНЫЕ СТИЛИ ТРАНСПОРТИРА (trainer-protractor) === */
.wp-protractor-trainer-wrapper, .wp-protractor-trainer-wrapper * {
    box-sizing: border-box !important; line-height: normal !important;
}
.wp-protractor-trainer-wrapper {
    width: 100% !important; display: flex !important; justify-content: center !important; margin: 20px 0 !important;
}
.wp-protractor-trainer-wrapper p { margin: 0 !important; padding: 0 !important; display: inline !important; }
.wp-protractor-trainer-wrapper br { display: none !important; }

.wp-protractor-trainer-wrapper .trainer-card {
    width: 100% !important; max-width: 600px !important; background: #ffffff !important; padding: 25px;
    border-radius: 12px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important; border: 1px solid #e2e8f0 !important; text-align: center !important;
}
.wp-protractor-trainer-wrapper h2 { font-size: 22px !important; margin: 0 0 15px 0 !important; color: #1e293b !important; font-weight: bold !important; }

/* Зона настроек сложности */
.wp-protractor-trainer-wrapper .setup-zone {
    margin: 15px 0 !important; padding: 12px !important; background: #f8fafc !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; gap: 15px !important;
}
.wp-protractor-trainer-wrapper .setup-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; font-weight: bold !important; color: #475569 !important; }
.wp-protractor-trainer-wrapper .setup-item select {
    height: 36px !important; font-size: 13px !important; font-weight: bold !important; border: 1px solid #cbd5e1 !important; border-radius: 6px !important; color: #0284c7 !important; background: #ffffff !important; padding: 0 6px !important;
}

/* Фирменная полоса прогресса (10 индикаторов) */
.wp-protractor-trainer-wrapper .progress-container {
    display: flex !important; justify-content: center !important; gap: 6px !important; margin: 15px 0 !important; width: 100% !important;
}
.wp-protractor-trainer-wrapper .progress-dot {
    flex: 1 !important; max-width: 35px !important; height: 10px !important; background-color: #e2e8f0 !important; border: 1px solid #cbd5e1 !important; border-radius: 3px !important; transition: background-color 0.3s !important;
}
.wp-protractor-trainer-wrapper .dot-correct { background-color: #22c55e !important; border-color: #16a34a !important; }
.wp-protractor-trainer-wrapper .dot-wrong { background-color: #ef4444 !important; border-color: #dc2626 !important; }

/* Счётчики баллов */
.wp-protractor-trainer-wrapper .game-info-bar {
    display: flex !important; justify-content: center !important; align-items: center !important; margin: 10px 0 !important; padding: 8px 15px !important; gap: 20px !important; font-weight: bold !important; font-size: 15px !important;
}

/* Игровое поле Canvas 440x440 */
.wp-protractor-trainer-wrapper .canvas-frame {
    width: 100% !important; max-width: 520px !important; min-height: 440px !important; margin: 15px auto !important; position: relative !important; background: #fafafa !important; border: 2px dashed #cbd5e1 !important; border-radius: 12px !important; padding: 15px !important; display: flex !important; flex-direction: column !important; align-items: center !important;
}
.wp-protractor-trainer-wrapper .protractor-canvas-obj {
    width: 440px !important; height: 440px !important; margin: 5px auto !important; display: block !important; background: #ffffff !important; border: 3px solid #cbd5e1 !important; border-radius: 10px !important; cursor: crosshair !important;
}

/* Окно разбора ошибок на нижнем этаже (Строго inline-block) */
.wp-protractor-trainer-wrapper .protractor-feedback-zone {
    width: 100% !important; max-width: 440px !important; min-height: 54px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 6px !important; font-size: 14px !important; font-weight: bold !important; transition: all 0.3s ease !important; color: #475569 !important; background: #ffffff !important; border: 1px solid #cbd5e1 !important; text-align: center !important; padding: 10px 15px !important; margin: 15px auto !important;
}

/* Сетка ввода и проверки ответа */
.wp-protractor-trainer-wrapper .input-answer-zone {
    display: flex !important; justify-content: center !important; align-items: center !important; gap: 10px !important; width: 100% !important; max-width: 440px !important; margin: 15px auto !important;
}
.wp-protractor-trainer-wrapper .input-degree {
    width: 90px !important; height: 44px !important; font-size: 18px !important; font-weight: bold !important; text-align: center !important; border: 2px solid #cbd5e1 !important; border-radius: 6px !important; color: #1e293b !important;
}
.wp-protractor-trainer-wrapper .input-degree:focus { border-color: #0284c7 !important; outline: none !important; }

/* Кнопки действий */
.wp-protractor-trainer-wrapper .btn-action {
    color: #ffffff !important; border: none !important; border-radius: 6px !important; font-size: 15px !important; font-weight: bold !important; height: 44px !important; padding: 0 20px !important; cursor: pointer !important; transition: background 0.15s ease-in-out !important; display: inline-block !important; text-decoration: none !important; text-align: center !important; line-height: 44px !important;
}
.wp-protractor-trainer-wrapper .btn-blue { background-color: #0284c7 !important; }
.wp-protractor-trainer-wrapper .btn-blue:hover { background-color: #0369a1 !important; }
.wp-protractor-trainer-wrapper .btn-green { background-color: #28a745 !important; font-size: 16px; height: 48px !important; line-height: 48px !important; width: 100% !important; max-width: 240px !important; margin: 0 auto !important; }
.wp-protractor-trainer-wrapper .btn-green:hover { background-color: #218838 !important; }

@media (max-width: 480px) {
    .wp-protractor-trainer-wrapper .trainer-card { padding: 15px 5px !important; }
    .wp-protractor-trainer-wrapper .canvas-frame { padding: 5px !important; min-height: 310px !important; margin: 10px auto !important; }
    .wp-protractor-trainer-wrapper .protractor-canvas-obj { width: 300px !important; height: 300px !important; }
    .wp-protractor-trainer-wrapper .btn-action { font-size: 14px !important; padding: 0 12px !important; }
    .wp-protractor-trainer-wrapper .setup-zone { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
    .wp-protractor-trainer-wrapper .setup-item { justify-content: space-between !important; }
}
