@font-face {
    font-family: 'ChunkFiveEx';
    src: url('https://www.devmedia.com.br/workspace/skins/cards/basic-light/imagens/ChunkfiveEx.ttf');
}

@keyframes missao-pulse-tag {
    0% { opacity: 1; } 50% { opacity: 0.6; } 100% { opacity: 1; }
}

@keyframes carreira-missao-pulse {
    0% {box-shadow: 0 0 0 0 rgb(241 241 241 / 70%);}
    70% {box-shadow: 0 0 0 6px rgb(235 235 235 / 0%);}
    100% {box-shadow: 0 0 0 0 rgb(237 237 237 / 0%);}
}

@keyframes shimmer {
    0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}
}

.content-site-devmedia {font-family: 'Montserrat', sans-serif;background-color: var(--bg-main-2);color: var(--carreira-missao-texto-primario);min-height: 100vh;line-height: 1.5;transition: background 0.3s ease, color 0.3s ease;}
.tecnologia-container, .tecnologia-container *{box-sizing:border-box;}
.container {max-width: 960px;margin: 40px auto 20px;padding: 0 20px;display: flex;flex-direction: column;gap: 32px;}
.mission-card, .final-project-card {background: var(--bg-main-3);border: 1px solid var(--carreira-missao-borda);border-radius: 20px;overflow: hidden;box-shadow: var(--carreira-missao-sombra);transition: margin 0.3s ease, box-shadow 0.3s ease;position: relative;}
.mission-card.iniciado::before{content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%;background: linear-gradient(180deg, var(--carreira-missao-contraste), var(--carreira-missao-contraste-escuro));opacity: 0.7; transition: opacity 0.3s;}
.mission-card.concluido::before{content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%;background: linear-gradient(180deg, var(--carreira-missao-contraste), var(--carreira-missao-contraste-escuro));opacity: 0.7; transition: opacity 0.3s;}
.final-project-card::before {content: "";position: absolute;top: 0;left: 0;width: 4px;height: 100%;background: var(--carreira-checkpoint-prime-gradient);transition: opacity 0.3s;opacity: 0;z-index: 1;}
.mission-card:hover{margin: -4px 0 4px;border-color: var(--carreira-missao-contraste);}
.final-project-card:hover {margin: -4px 0 4px;border-color: var(--carreira-checkpoint-prime-contrast);}
.mission-header {padding: 32px 32px 0; display: flex; justify-content: space-between; align-items: flex-start;}
.header-left { flex: 1; }
.current-location {display: inline-flex;align-items: center;gap: 8px;padding: 6px 12px;background: var(--carreira-missao-contraste);border: 1px solid rgba(99, 102, 241, 0.2);border-radius: 20px;font-size: 12px;font-weight: 600;color: white;margin-bottom: 16px;}
.location-dot {width: 8px;height: 8px;background: white;border-radius: 50%;animation: carreira-missao-pulse 2s infinite;}
.mission-title-row { display: flex; align-items: center; gap: 20px; }
.mission-number {width: 50px; height: 50px;background: linear-gradient(135deg, var(--carreira-missao-contraste), var(--carreira-missao-contraste-escuro));border-radius: 14px; display: flex; align-items: center; justify-content: center;font-size: 24px; font-weight: 800; color: #fff;box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);}
.mission-card.concluido .mission-number {background: linear-gradient(135deg, #10b981, #059669); box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);}
.mission-title {font-size: 24px;font-weight: 800;color: var(--carreira-missao-texto-primario);margin: 0;}
.steps-container { padding: 32px; }
.step-item {display: flex;align-items: center;gap: 20px;padding: 16px 20px;margin-bottom: 12px;border-radius: 12px;transition: all 0.2s ease;background: transparent;border: 1px dashed var(--carreira-missao-borda);opacity: 0.8;filter: grayscale(100%);text-decoration: none;}
.step-item:is(:hover,.iniciado) {opacity: 1; border-style: solid; filter: grayscale(0%);}
.step-item.active {background: var(--carreira-missao-bg-item-ativo);border: 1px solid var(--carreira-missao-contraste); opacity: 1;filter: none; box-shadow: var(--carreira-missao-sombra-pequena);}
.step-item.active .step-icon-wrapper {background: rgba(99, 102, 241, 0.1); color: var(--carreira-missao-contraste);}
.step-item.active .step-title {color: var(--carreira-missao-contraste); font-weight: 700;}
.step-item.concluido {background: var(--carreira-missao-bg-item-ativo);border: 1px solid var(--carreira-missao-borda);border-left: 3px solid var(--carreira-missao-sucesso); opacity: 1; filter: none;}
.step-item.concluido .step-icon-wrapper {background: rgba(16, 185, 129, 0.15); color: var(--carreira-missao-sucesso);}
.step-item:hover {border-color: var(--carreira-missao-contraste);}
.step-icon-wrapper {width: 48px;aspect-ratio: 1/1;background: var(--carreira-missao-bg-icone);color: var(--carreira-missao-color-icone);border-radius: 12px;display: flex;align-items: center;justify-content: center;font-size: 20px;flex-shrink: 0;overflow: hidden;}
.step-content {flex: 0 1 auto;}
.step-title { font-size: 15px; font-weight: 600; color: var(--carreira-missao-texto-primario); }
.status-check {width: 24px;height: 24px;background: var(--carreira-missao-sucesso);border-radius: 50%;align-items: center;justify-content: center;color: #fff;font-size: 14px;font-weight: 900;display: none;margin-left: auto;flex: 0 0 auto;}
.tag-active {display: inline-flex; align-items: center; margin-left: 10px;padding: 2px 8px; border-radius: 4px;background: var(--carreira-missao-contraste); color: #fff;font-size: 10px; font-weight: 800; text-transform: uppercase;animation: missao-pulse-tag 2s infinite;}
.mission-help-container { padding: 0 32px 32px; }
.btn-help-mission {width: 100%;display: flex;align-items: center;justify-content: center;gap: 12px;padding: 16px;background: transparent;border: 2px dashed var(--carreira-missao-borda);border-radius: 12px;cursor: pointer;transition: all 0.3s;text-decoration: none;}
.help-text { font-weight: 700; color: var(--carreira-missao-texto-secundario); }
.help-icon-wrapper { font-size: 20px; filter: grayscale(100%); transition: all 0.3s; }
.btn-help-mission:hover { border-color: var(--carreira-missao-tema-secundario); background: rgba(0, 239, 246, 0.05); }
.btn-help-mission:hover .help-text { color: #00b8bd; }
.btn-help-mission:hover .help-icon-wrapper { filter: none; transform: scale(1.1); }
.mission-footer {padding: 20px 32px; border-top: 1px solid var(--carreira-missao-borda); background: var(--carreira-missao-bg-item-ativo);display: flex; justify-content: space-between; align-items: center;}
.cert-container {display: flex;align-items: center;gap: 12px;}
.cert-label { font-size: 11px; text-transform: uppercase; color: var(--carreira-missao-texto-terciario); font-weight: 700; }
.cert-badge {padding: 4px 8px;background: var(--carreira-missao-bg-certificado-tag);color: var(--carreira-missao-text-certificado-tag);border-radius: 6px;font-size: 11px;font-weight: 700;text-decoration: none;cursor: pointer;filter: grayscale(100%);}
.cert-badge.active {filter: none;}
.cert-icon {aspect-ratio: 1/1;height: 24px;}
.achievement-badge {padding: 6px 12px;background: linear-gradient(135deg, #FFD700, #FFA500);color: #000;border-radius: 8px;font-size: 12px;font-weight: 800;text-transform: uppercase;align-items: center;gap: 6px;display: none;margin-left: auto;}
.final-project-header {padding: 32px 32px 24px;border-bottom: 1px solid var(--carreira-missao-borda);display: flex;flex-direction: column;background: var(--carreira-checkpoint-prime-gradient);position: relative;overflow: hidden;gap: 15px;}
.project-icon {width: 60px;aspect-ratio: 1/1;background: #ffffff2e;border-radius: 16px;display: flex;align-items: center;justify-content: center;font-size: 30px;padding: 5px;flex: 0 0 auto;}
.project-title-group h4 {font-size: 12px;color: #1a1a1a;text-transform: uppercase;margin: 0;letter-spacing: 1px;}
.project-title-group h3 {font-size: 22px;font-weight: 800;color: var(--carreira-checkpoint-prime-contrast);margin: 0;}
.project-description {font-size: 14px;color: var(--carreira-checkpoint-prime-contrast);max-width: 100%;z-index: 1;margin: 0;}
.status-badge {padding: 6px 12px;border-radius: 20px;font-size: 12px;font-weight: 700;text-transform: uppercase;align-items: center;gap: 4px;display: flex;background: #ffe9a569;color: var(--carreira-checkpoint-prime-contrast);border: 1px solid var(--carreira-checkpoint-prime-color);pointer-events: none;}
.pending .status-badge { background: var(--carreira-missao-bg-item-ativo); color: var(--carreira-missao-texto-secundario); border: 1px solid var(--carreira-missao-borda); }
.pending .project-icon { filter: grayscale(100%); opacity: 0.7; }
.status-text-concluido { display: none; }
.concluido .status-badge .status-text-concluido {display: flex;}
.final-project-content { padding: 32px; }
.actions-section h4 {font-size: 12px;text-transform: uppercase;color: var(--carreira-missao-texto-terciario);margin: 0 0 16px;letter-spacing: 1px;}
.action-buttons { display: grid; gap: 12px; margin-bottom: 32px; }.action-button {display: flex;justify-content: space-between;align-items: center;padding: 20px;background: var(--bg-main-3);border: 1px solid var(--carreira-missao-borda);border-radius: 16px;cursor: pointer;transition: all 0.2s ease;box-shadow: var(--carreira-missao-sombra-pequena);text-decoration: none;color: inherit;}
.action-button:hover {border-color: var(--carreira-checkpoint-prime-color);transform: translateY(-2px);box-shadow: var(--carreira-missao-sombra);}
.action-title {font-size: 15px;font-weight: 700;color: var(--carreira-missao-texto-primario);margin-bottom: 4px;display: flex;align-items: center;gap: 10px;}
.action-subtitle { font-size: 13px; color: var(--carreira-missao-texto-terciario); font-weight: 500; }
.action-prime-badge, .rewards-prime-badge {font-family: "Poppins", sans-serif;font-size: 12px;padding: 0 4px;border-radius: 3px;background-color: var(--carreira-checkpoint-prime-color);color: var(--carreira-checkpoint-prime-contrast);font-weight: 600;}
.rewards-section { background: rgba(0,0,0,0.02); border: 1px solid var(--carreira-missao-borda); border-radius: 16px; padding: 20px; }
.rewards-header {display: flex;/* justify-content: space-between; */margin-bottom: 16px;align-items: center;gap: 10px;}
.rewards-grid {display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 16px;}
.reward-item {display: flex;flex-direction: column;align-items: center;padding: 16px;background: var(--bg-main-2);border-radius: 12px;border: 1px solid var(--carreira-missao-borda);position: relative;gap: 8px;}
.reward-check {position: absolute;top: 8px;right: 8px;width: 18px;height: 18px;border-radius: 50%;display: none;align-items: center;justify-content: center;font-size: 10px;font-weight: 900;background: #FFC107;color: #000;}
.pending .reward-check { border: 2px solid var(--carreira-missao-borda); }
.concluido .reward-check {display: flex;}
.reward-title { font-size: 12px; font-weight: 700; text-align: center; color: var(--carreira-missao-texto-secundario); }
.dev-tools { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 9999; background: #1f1f1f; padding: 10px; border-radius: 50px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); border: 1px solid rgba(255,255,255,0.1); }
.dev-tools button { background: var(--carreira-missao-tema-primario); color: #000; border: none; padding: 10px 20px; border-radius: 30px; font-weight: 700; cursor: pointer; font-family: 'Montserrat', sans-serif; font-size: 12px; }
.box-video {width: 100vw;height: 100vh;position: fixed;top: 0;z-index: 1000;left: 0px;background: #00000054;justify-content: center;align-items: center;display: none;}
.box-video .sessao-video {width: 100%;max-width: 660px;background-color: #e2e2e2;padding: 25px 24px;border-radius: 12px;position: relative;}
.box-video .close-video {width: 30px;height: 30px;position: absolute;background: #434343;z-index: 1000;top: -10px;right: -10px;border-radius: 50%;cursor: pointer;display: flex;justify-content: center;align-items: center;} 
.box-video .close-video svg {height: 12px;width: 100%;fill: white;}
.titulo-video {margin: 0 0 15px;font-size: 19px;font-weight: 600;color: #474747;text-align: center;line-height: 1.2em;}
.video-carreira-concluir { margin: 15px auto 0; display: flex; width: 220px; width: fit-content; max-width: 100%; background-color: #434343; color: white; justify-content: center; align-items: center; gap: 10px; padding: 7px 15px; border-radius: 5px; cursor: pointer; transition: color .2s linear;}
.video-carreira-concluir .check, .video-carreira-concluir .check path { stroke: currentColor !important;}
.video-carreira-concluir:hover { color: #c9f31d;}
.video-carreira-concluir.concluido { pointer-events: none;}
.video-carreira-concluir.concluido .check {width: 15px; height: 15px; stroke: #434343; stroke-width: 4px;}
.step-item.concluido .status-check {display: flex;}
.step-icon-wrapper .devrobot-icon-img {height: 100%;width: 100%;object-fit: cover;}
.mission-card.concluido .achievement-badge {display: flex;}
.missao-estimativa {display: flex;align-items: flex-start;gap: 10px;font-size: 14px;color: #1a1a1a;font-weight: 400;padding: 10px;max-width: 300px;}
.missao-estimativa-status img { height: 100%; width: 100%; object-fit: contain;}
.missao-estimativa-dados { display: flex; flex-direction: column; flex: 0 0 auto;}
.missao-estimativa-item .item-label {flex: 0 0 auto;width: 125px;font-size: 11px;text-transform: uppercase;font-weight: 700;color: var(--carreira-missao-texto-terciario);line-height: 1em;}
.missao-estimativa-item {display: flex;gap: 10px;text-align: left;align-items: center;}
.missao-estimativa-item .item-valor {flex: 1 0 auto;display: inline;font-size: 14px;font-weight: 700;color: var(--carreira-missao-texto-primario);}
.missao-estimativa-status { flex: 0 0 auto; display: flex; height: 40px; width: 40px;}
.missao-estimativa-item:first-child {padding-bottom: 2px;margin-bottom: 2px;border-bottom: 2px solid var(--carreira-missao-borda);}
.missao-area-extra {display: flex;flex-wrap: wrap;width: 100%;gap: 10px 20px;border-top: 1px solid #dedede;padding-top: 15px;justify-content: space-around;}
.missao-area-extra:empty {display: none;}
.missao-info-extra {display: flex;flex-direction: column;align-items: flex-end;justify-content: center;gap: 10px;flex: 1 1 auto;}
.mission-card.concluido .missao-estimativa {display: none;}
.mission-card:not(.iniciado, .concluido) .mission-number {filter: grayscale(1) opacity(0.5);}
.final-project-card .checkpoint-badge {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;position: relative;}
.final-project-card .checkpoint-badge-numero {position: absolute;top: 43%;font-family: Poppins, sans-serif !important;color: #dca528;font-weight: 700;display: flex;height: auto;width: 70%;align-items: center;justify-content: center;}
.final-project-card .checkpoint-badge-image {width: 100%;}
.final-project-header-info {display: flex;align-items: center;gap: 15px;flex-wrap: wrap;z-index: 1;}
.project-title-group {flex: 1 1 300px;}
.action-button .action-arrow {color: inherit;}
.reward-icon {height: 45px;aspect-ratio: 1/1;display: flex;align-items: center;justify-content: center;}
.rewards-header h4 {margin: 0;}
.final-project-header::before {content: '';position: absolute;top: -50%;right: -50%;width: 200%;height: 200%;background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);animation: shimmer 6s linear infinite;z-index: 0;}
.box-continue-estudando {width: 500px;max-width: calc(100% - 10px);padding: 30px;margin: 30px auto;font-size: 24px;font-weight: 600;display: flex;text-align: left;padding: 15px 25px;border-radius: 15px;text-decoration: none;cursor: pointer;position: relative;flex-direction: column;justify-content: center;padding-right: 140px;transition: all .2s ease;color:var(--carreira-missao-texto-secundario);background: var(--bg-main-3);border: 1px solid var(--carreira-missao-borda);}
.box-continue-estudando label {font-size: 18px;font-weight: 600;cursor: pointer;}
.box-continue-estudando:after {content: "\2192";display: inline-flex;position: absolute;font-size: 20px;border-radius: 20px;right: 20px;transition: all 0.2s ease;color: inherit;}
.box-continue-estudando:hover {border: 1px solid var(--carreira-missao-contraste-escuro);transform: translateY(-2px);box-shadow: var(--carreira-missao-sombra); color:var(--carreira-missao-contraste);}
.step-item .progresso {display: flex;align-items: center;justify-content: flex-start;gap: 10px;flex: 0;}
.step-item .progresso svg {height: 15px;width: 15px;color: var(--carreira-missao-texto-primario);}
.step-item .progresso svg path {fill: currentColor;}

body.modal-checkpoint-aberto { overflow: hidden;}
.modal-checkpoint { background-color: rgb(0 0 0 / 60%); width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; z-index: 30; display: flex; align-items: center; justify-content: center;}
.modal-checkpoint-wrapper {background-color: #253a44;color: white;width: 700px;max-width: 100%;text-align: center;padding: 15px;min-height: 100px;font-size: 18px;font-family: 'Montserrat', sans-serif;font-weight: 500;box-sizing: border-box;line-height: 1.8em;display: flex;align-items: center;justify-content: center;border-radius: 10px;filter: drop-shadow(0px 3px 6px rgba(0 0 0 / 0.4));max-height: 100vh;}
.modal-checkpoint-close {width: 24px;height: 23px;position: absolute;right: 5px;border: 1px solid #fff;border-radius: 50%;display: flex;justify-content: center;align-items: center;box-shadow: -1px 2px 1px #000000a1;cursor: pointer;top: 5px;background: #253a44;z-index: 4;color: #fff;transition: opacity .2s ease;}
.modal-checkpoint-close:before, .modal-checkpoint-close:after { content: ''; position: absolute; width: 2px; height: 15px; background: #fff; display: block; transform: rotate(41deg); }
.modal-checkpoint-close:before { transform: rotate(320deg); }
.modal-checkpoint-wrapper .checkpoint-card .perfil-preview { animation: none; position: relative; margin: 0;}
.modal-checkpoint-wrapper .checkpoint-card { width: 220px; aspect-ratio: 11/16; margin: 15px auto; max-width: 100%;}
.modal-checkpoint-wrapper .checkpoint-card-msg {color: #ffc107;filter: drop-shadow(0px -1px 1px #ffc107) drop-shadow(0px 0px 1px black);font-size: 20px;text-transform: uppercase;margin: 10px auto;display: flex;align-items: center;justify-content: center;gap: 10px;}
.modal-checkpoint .badge-img { height: 50px; width: 50px;}

.mission-card.imersao::before {background: linear-gradient(350deg, #000000, #0558b1);}
.mission-card.imersao .header-left:before {content: 'Imersão Start Dev';background: linear-gradient(202deg, #0f4074 1%, #0f4074 9%, #0f4074 16%, #131217 48%) !important;font-size: 14px;font-weight: 600;padding: 6px 10px;border-radius: 5px;color: white;margin: 0 0 15px;display: inline-block;}

.prime_exclusivo { display: flex; gap: 5px; align-items: center; background: #ffc107; color: #000; font-weight: 600; font-size: 14px; padding: 3px 6px; border-radius: 6px; justify-self: flex-start; margin-bottom: 15px;}

@media (max-width: 768px) {
    .hero-curso .hero-curso-wrapper { grid-template-columns: 1fr; }
    .mission-header, .final-project-header { flex-direction: column; gap: 16px; }
    .mission-footer {flex-direction: column;gap: 16px;}
    .project-header-left { flex-direction: column; }
    .rewards-grid { grid-template-columns: 1fr; }
}
@media (max-width: 425px) {
    .container {padding: 0 5px;}
    .mission-header {padding: 15px 15px 0;}
    .steps-container {padding: 20px 15px 0;}
    .achievement-badge {margin: auto;}
    .cert-info {display: flex;flex-wrap: wrap;gap: 10px;align-items: center;}
    .mission-footer {padding: 15px 15px;}
    .step-icon-wrapper {width: 35px;border-radius: 8px;}
    .step-item {gap: 10px;padding: 15px;}
    .final-project-header {padding: 15px;}
    .project-icon {width: 45px;border-radius: 8px;order: 1;}
    .project-title-group {order: 3;}
    .status-badge {order: 2;margin-left: auto;}
    .final-project-content {padding: 20px 15px;}
    .action-button {padding: 10px;}
    .rewards-section {padding: 15px 10px;}
    .box-continue-estudando {padding: 15px 10px;}
}